1、在程序运行之中,如果产生了异常,那么会由JVM自动的进行指定异常类对象的实例化;
2、如果此时存在了异常处理(有try…catch),那么这个时候会利用异常处理机制进行处理,如果现在没有异常处理,那么会将异常信息输出,而后将异常交给JVM进行处理,JVM处理的方案就是将程序中断执行;
3、如果存在了异常处理机制,那么会使用try语句捕获此异常类对象,而产生异常语句之后的代码将不再执行;
4、当捕获到异常之后,会将此异常类型与每一个catch中可以捕获的异常类型进行匹配,如果匹配成功,那么就使用当前的catch进行处理,如果当前匹配不成功,则继续向下匹配,如果没有任何一个catch满足,则表示此异常无法处理,那么此时如果存在了finally代码将先执行finally中的代码,而后继续判断此异常是否已经处理,如果此异常没有处理,那么会将此异常交给JVM进行默认处理,程序结束,如果此时异常已经处理了,那么会继续向下执行其他的程序代码,正常的结束程序运行。