Java基础:异常捕获顺序
来源:互联网 发布:天猫双十一销售额数据 编辑:程序博客网 时间:2024/06/05 20:57
转载请注明出处:jiq•钦's technical Blog
public voidtestException(){int a[] = {1,2,3};int q = 0;try{for(int i=0;i<a.length;i++){a[i] /= q;}}catch(ArithmeticException h){System.out.print("ArithmeticException\n"); //执行}catch(Exception e){System.out.print("Exception\n"); //不会执行,且必须放在ArithmeticException后面/** * 范围更大的Exception不但必须放在后面 * 而且放在后面还不会被执行(被前面的范围更小的 * 异常拦截了),那这样还有什意义呢??? */}finally{System.out.print("finally\n");}}//<span style="color:#3333ff;">output</span>ArithmeticExceptionfinally
* 要点1:虽然ArithmeticException继承自Exception,但是当发生ArithmeticException异常
* 并捕获的时候,就只会捕获实际发生的这个异常,并不会因为Exception是其父类而
* 执行Exception那个catch子句。
* 要点2:但是如果你尝试将范围更大的Exception的catch语句放到的catch语句的前面,那么就会发生
* catch子句不可到达的错误“Unreachablecatch block for ArithmeticException.
* Itis already handled by the catch block for Exception”
* 即范围更大的异常(父类)必须放在后面,如果没有继承关系,比如ClassNotFoundException,
* 和ArithmeticException的catch子句之间就无所谓先后关系。
1 0
- Java基础:异常捕获顺序
- 异常的捕获顺序
- java基础-并发-如何捕获线程异常
- Java中异常的捕获顺序(多个catch)
- Java中异常的捕获顺序(多个catch)
- Java中多个异常的捕获顺序(多个catch)
- Java中多个异常的捕获顺序(多个catch)
- java基础(十)捕获异常还是抛出异常
- Python 基础-捕获异常
- java异常捕获,统一捕获
- 【Java笔记】异常处理:捕获和抛出基础
- java多线程异常捕获
- java 线程异常捕获
- java 线程 捕获异常
- java 异常捕获注意事项
- java全局异常捕获
- java 多线程异常捕获
- java捕获线程异常
- 合并通用静态库脚本
- 求最大公约数(欧几里得算法)
- 小Z解读:企业证书利用itms-services协议分发应用在蜂窝网络下的限制
- Java基础—集合框架
- HDU 2035 人见人爱A^B
- Java基础:异常捕获顺序
- 换主页轮播的主题图片(4、删除)---轻开电子商务系统(企业入门级B2C网站)
- Android 4.1-4.2 默认窗体旋转180 度代码
- 数组指针
- 黑马程序员---C语言概述以及入门基础
- 字符串指针
- MySql语句大全:创建、授权、查询、修改等
- Cocos2d 3.0 以上打包配置教程
- 学习笔记-基础知识13-反射机制