Java异常-异常的五个关键字以及try-catch-finally中的return问题
异常Exception
1、概念:
程序运行的过程中的非正常状况,与错误(Error)不同,Error是程序无法处理的状况,异常是可以通过程序来解决的状况,Exception与Error都是Throwable的直接子类
任何程序都有可能出现大量的问题或者异常,如果不对程序进行异常的处理,程序会在出现异常的代码处中断执行,导致程序无法继续。
2、对比
Error:程序无法解决的状况(不可抗力的状况)
Exception:程序可以通过更优化的代码来解决的状况
检测异常:程序在编译期间就要求处理的异常
非检测异常(RuntimeException):程序可以在编译期间不做处理的异常
3、五个关键字
try:尝试执行一段有可能发生异常的代码
catch:捕获,发生异常后要处理的代码块
finally:最终,不管是否发生异常,该代码块都将被执行
throws:异常的声明,在方法的头部要声明该方法中可能出现的所有异常对象
throw:在方法中出现异常是将异常交给下一个主调方法来处理
4、 try、catch、finally的return问题。
finally的代码块会在try或者catch的return之前执行,假如finally中存在return,则整个方法的返回值就是finally中代码的return的值。
try、catch中有return时,会将return的值先暂存起来,如果finally中有return,那就return finally中的值。如果finally中没有return,那就return try或catch中暂存的return的值。
5、异常的意义:
让我们的程序在出现异常的代码之后还能够继续执行,而不至于直接中断后面代码的执行