上一节的小结:
1、已检查异常一定要处理,即除了RunTimeExceoption之外的异常子类。
2、一种消极的方法是一直向上抛出异常,不在函数本阶段处理,throws给主函数给JVM。
3、一种积极的做法是用try-catch捕获异常。
4、多态可以 用在捕获上面。catch的时候要把子类放前面,父类放后面,不然就会有编译错误。
5、对于java 来说, try 块中的代码是有可能不执行的代码例如上例子中输入4的时候,后面的代码是不执行的。

public static int m1(){try{return 100;
}catch(Exception e){}
}

函数返回值为int值类型,但是return 语句又不一定会执行,所以,函数是不一定会有一个返回值的,产生编译错误,不可以把返回值放在try块里面。
还有一种情况是:

public static void m2(){int n;
try{n = 10;
} catch(Exception e){}
System.out.println(n);
}

不能把初始化放在try块中,不一定会执行,编译器报错。

#try-catch中的尾声finally

static int ma2(int i) {try{mb(i);
return 100;
}catch(Exception e){System.out.println("Exception");
return 200;
}finally{System.out.println("in finally of ma");
return 300;
}
}

无论有无异常程序的返回值都是300。所以,finally 语句块中的代码,意味着无论程序是否发生异常,都一定要执行。 但有两种情况:
在进入try块之前发生异常,程序终止;在try块中执行了System.exit(0).
正因为 finally 语句块中的代码一定会被执行,因此 finally 语句块中我们往往会放上一些
释放资源的代码。一些一定要执行的代码,例如去银行取钱,取钱发生了异常但是,一定要吐卡,所以就把吐卡放在finally语句块中。

JAVA捕获异常小结相关推荐

  1. Java中文编码小结

    Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一 ...

  2. java捕获异常和抛出异常_Java捕获多个异常,重新抛出异常

    java捕获异常和抛出异常 In Java 7, catch block has been improved to handle multiple exceptions in a single cat ...

  3. java将异常写到text,java捕获异常信息存入txt文件示例

    捕获程序中出现的异常 可用于后期维护的必要性!做简单的测试 !package helpEntity; import java.io.BufferedReader; import java.io.Fil ...

  4. java开发小结:(2006.10.12-future)

    java开发小结:(2006.10.12-future) ================================================ log.debug(StringUtils. ...

  5. Java创建对象小结

    Java SE中必可避免的会学到new关键字(用以创建对象),之后又了解到了克隆以及反射都可以创建对象..今天又学到了静态工厂以及构建器,所以呢,在此做一个小结. 下面我先以创建对象的几种方式开始讲起 ...

  6. [转载] java 捕获异常还是抛出异常

    参考链接: 捕获基类和派生类为异常 今天在看hadoop源码时,想想自己最近在做的那个系统,发现很多异常处理的方式不对,还是按照传统的异常处理方式(即:采用返回值来标识程序出现的异常情况).而hado ...

  7. zk java数据交互 实例_zookeeper与java交互小结实现示例

    对于学习java的小伙伴们来说,zookeeper一定是不陌生的,你们知道要如何在java中与zookeeper交互小结吗?这次小编就通过一个示例来带大家了解一下吧.import org.apache ...

  8. java 捕获异常还是抛出异常

    今天在看hadoop源码时,想想自己最近在做的那个系统,发现很多异常处理的方式不对,还是按照传统的异常处理方式(即:采用返回值来标识程序出现的异常情况).而hadoop中很多方法的声明是有异常抛出的, ...

  9. Java捕获异常后线程情况

    单线程 如果异常不是被线程本身捕获的话,线程肯定就终止了,会被GC回收. 如果异常被线程本身捕获处理了,那么将会继续执行线程下的逻辑操作,直接完毕后再被回收 多线程 在多线程外部使用一组try cat ...

最新文章

  1. java map 输入 查询 修改_Mybatis增删改查mapper文件写法详解
  2. Oracle对sum求和进行if,Excel中sumif函数和sumifs函数进行条件求和的异同
  3. 先定一个小目标,自己封装个ajax
  4. iOS开发之--Masonry多个平均布局
  5. 从零开始数据科学与机器学习算法-分类与决策树-06
  6. android 环信消息红点,环信3.0获取会话消息列表
  7. LeetCode 504. Base 7
  8. 通过pgpool-II实现PostgreSQL数据库服务高可用
  9. 窗口变化相关消息 OnSize、OnSizing和OnGetMinMaxInfo
  10. java语言代码大全_java语言代码大全解析
  11. 复权不复权,天差与地别 | 量化投资中如何最准确的计算股票前后复权价(附代码)
  12. RAW WAR WAW 数据相关性
  13. Ansible主机清单inventory
  14. 关于冒险岛,8090的不二游戏
  15. 微信公众号最佳实践 ( 7.5 )股票行情及分析
  16. 安卓视频播放,部分手机不能快进
  17. 5、zookeeper四字监控命令/配置属性
  18. 这些电脑软件堪称惊艳,你一定用得上【建议收藏】
  19. 「Vue自我检验」Vue 组件进阶知识,你了解多少?
  20. 曲面之美:三星 S6 Edge+

热门文章

  1. 用 Photoshop 计算命令优化美女照片皮肤
  2. 程序员学炒股(5) 股指交割日效应是否存在?
  3. ACM 长方体体积求解
  4. matlab格兰杰因果检验,格兰杰因果关系检验 平稳性分析 ADF检验 ARMA模型 GA-LS算法 RLS-LS算法 Eviews6.O MATLAB...
  5. GPU类型数据与CPU类型数据转换
  6. Windows 7 Windows Server 2008 R2 简体中文版下载 (2023 年 3 月更新)
  7. 3天怒肝5万字!阿里P7大佬手写MySQL超全笔记,还担心学不会吗?
  8. 6-1 简单排序 (100分)
  9. 一个野蛮生长的程序员
  10. 凡泰极客荣获2021 InfoQ“技术产品营销奖”