Try…catch…finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。main方法,把抛出的RuntimeException抛给了调用者(JVM)。catch语句块里面,打印完1之后,又抛出了RuntimeException,程序并没有处理它,而是直接抛出,因此执行完finally语句块之后,程序终止了。finally语句不管什么情况都会执行。
Try…catch…finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。main方法,把抛出的RuntimeException抛给了调用者(JVM)。catch语句块里面,打印完1之后,又抛出了RuntimeException,程序并没有处理它,而是直接抛出,因此执行完finally语句块之后,程序终止了。finally语句不管什么情况都会执行。