Exception

在一个try-catch语句中,当有多个catch块的时候,它们被顺序检查 

在检查过程中,注意异常的匹配关系是很重要的  当一个异常被抛出,与它相匹配的catch块被执行,其它的catch块,就被忽略掉不再执行

如果没有catch块匹配抛出的异常,那么系统会在堆栈中搜索,找到一个匹配的捕获方法。

如果仍然没有找到,那么系统将处理抛出异常

 ---------------------------------------

什么叫异常和catch块相匹配:

1、抛出的异常和捕捉的异常是同一个类

2、抛出的异常是捕捉异常的子类

3、多个catch块中 如果捕捉的异常之间有继承关系 那么不要把父类放在子类之前(这种做法也不被允许)

4、尽量不要偷懒 使用具体异常类而不要使用Exception

-------------------------------------------------------

大家都知道return 是跳出方法的语句,如果在try里有return语句那么finally里的内容会不会执行呢?

答案是会的。会在return语句之前执行,执行完finally语句之后,return语句再执行。

finally在任何时候都会执行,但有一个例外那就是程序终止时,不会执行。System.exit(0);

 

异常知识点

 

原文地址:https://www.cnblogs.com/sunflower627/p/2782177.html