1.
2.
3.
当有多层嵌套的finally时,异常在不同的层次抛出 ,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。这一点和if else语句相似。
4.
finally语句不一定会执行。事实上,在try语句块中无论是break、continue、还是return,都不会影响finally语句块的执行,除了出现JVM被关闭的情况。上面就是JNM被关闭的情况。
5.
当程序中出现异常时,JVM会依据方法调用顺序依次查找有关的错误处理程序。
每个Throwable类的对象都有一个getMessage方法,它返回一个字串,这个字串是在Exception构造函数中传入的,通常让这一字串包含特定异常的相关信息。