1、catch语句有多个,用来匹配多个中的一个异常,一旦匹配上后就不再尝试匹配别的catch;
2、finally总会在方法返回前执行;
3、try、catch、finally三个代码块中变量的作用域为代码块内部,分别独立而不能相互访问,如果要在三个块中都可以访问,则需要将变量定义到这些块上面;
4、throw关键字适用于方法体内部,用来抛出一个Throwable类型的异常,throws关键字用于方法体外部的方法声明部分;
5、使用一个catch块捕获多种异常时,多种异常之间用(|)隔开,异常变量有隐式的fianl修饰,因此程序不能对异常变量重新赋值;例如下面代码是错误的。
catch(IndexOutOfBondException|NumberFormatException e){
e = new IndexOutOfBondException("exception");}6、除非在try块、catch块中调用了退出虚拟机的方法(System.exit(1);),否则不管在try块还是在catch块中执行怎样的代码,出现怎样的情况,异常处理的fianlly块总会被执行。
注意:自java7以后,因为有了自动关闭资源的try语句,所以并不一定要显式地写出finally块。
Java异常处理详解
本文详细介绍了Java中的异常处理机制,包括try、catch、finally的基本用法及注意事项,如catch语句匹配异常的特性、finally块的执行时机、作用域限制等。
2855

被折叠的 条评论
为什么被折叠?



