1、 在程序之中如果产生异常的话,则首先判断是否存在异常的处理机制(是否有try语句),如果有try则表示交给对应的catch去执行,如果没有try,则表示没有异常处理,那么将会由JVM打印异常信息,而后程序中断执行; 2、 出现了异常之后,会由JVM自动的根据异常的类型产生一个与之对应的异常类的实例化对象,如果此时存在了catch语句则会与每一个catch之中的异常类型相匹配,如果第一个catch没有匹配成功,则向后继续匹配,如果最终没有任何一个catch与之匹配并进行处理,则会交给JVM默认处理; 3、 不管在try或catch语句之中能否处理异常都会执行finally语句所定义的内容; - public class TestDemo {
- public static void main(String args[]) {
- System.out.println("*** 数学计算开始 ***") ;
- try {
- int x = Integer.parseInt(args[0]) ;
- int y = Integer.parseInt(args[1]) ;
- int result = x / y ;
- System.out.println("*** 计算结果:" + result) ;
- } catch (ArithmeticException e) {
- e.printStackTrace() ; // 此方式打印的异常信息是最完整的
- } finally {
- System.out.println("异常处理的出口。") ;
- }
- System.out.println("*** 数学计算结束 ***") ;
- }
- }
复制代码 |