一般情况下在没有定义提供相应的异常处理代码,JVM将会结束掉整个应用程序。当自己定义异常异常处理方法时,把可能出现错误的代码放在try语句中,当执行该代码时会时时的进行监控,只要代码
中出现错误,就会抛出一个异常对象,异常处理代码就会捕获并且处理这个错误,错误的处理代码将放在catch语句中,当异常发生时,程序控制流程由try语句块跳转到catch语句块,不管是否有异常
发生,finally语句块中的语句始终保证被执行。
try语句会依次输出然后catch抓到后到finally 然后依次运行finally,finally语句不一定会执行 如果System.exit(0)或者try/catch被打断了之后就不会运行。
当有多层嵌套的finally时,异常在不同的层次抛出 ,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。