Dotcpp  >  编程教程  >  Java内部类与异常类  >  Java处理异常(2)try…catch…finally

Java处理异常(2)try…catch…finally

点击打开在线编译器,边学边练

我们处理异常还可以使用try…catch…finally语句,当程序执行到错误代码的地方,系统会抛出一个异常对象,程序转入catch块进行逐个匹配,如果匹配成功,程序则执行catch代码,如果匹配失败,程序则还给Java虚拟机处理。


try…catch…finally语句的格式如下:
try {
    //包含可能发生异常的语句
}
catch(异常类名 异常对象) {
    //异常处理的代码
}
finally {
    //一定执行的代码
}


注意事项:

1)try块代码尽量越少越好。

2)一旦try块代码中出现异常,无论try块后面有多少行代码,都不会被执行。

3)catch块中异常参数匹配同样满足多态Exception e = new ArithmeticException("/by zero");

4)try块只能够有一个,catch可以有多个,try可以和catch组合,try可以和finally组合,try可以和catch和finally组合。

5)一般会把Exception作为catch的参数类型放在异常处理格式的最后。

6)Execption作为父类异常参数只能够出现在异常的最后面,先子类后父类。

7)finally修饰的代码块一定会被执行,除非在执行到finally之前程序异常退出或者调用了系统退出的方法。

8)在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。在转去之前,try中先把要返回的结果存放到不同于x的局部变量中去,执行完finally之后,在从中取出返回结果,因此,即使finally中对变量x进行了改变,但是不会影响返回结果,应该使用栈保存返回值。



本文固定URL:https://www.dotcpp.com/course/805

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)