java异常处理知识大杂烩

五个常见的异常:ArrayIndexOutofBoundsException、NullPointerException、ArithmeticException、ClassNotFoundException、IOException.

分享一个小例子:

    public class Test1{

            public static void main(String[] args){

                    try{

                            System.out.println("try 打印输出");

                    }finally{

                          System.out.println("finally 打印输出");

                     }

              }

     }

输出结果:try打印输出

          finally打印输出

备注:这个没有什么好纠结的啦,finally最后无论是否异常肯定是要输出的啦。

 public class Test2{

            public static void main(String[] args){

                     int a=1;

                     int b=0;

                      int c;

                    try{

                           c=a/b; 

                     }catch(ArithmeticException ae){

                             System.out.println("捕获整数为零异常");

                     }catch(Exception e){

                             System.out.println("捕获异常");

                      }finally{

                          System.out.println("finally 打印输出");  

                      }

                      }

}

输出结果:捕获整数为零异常

                    finally打印输出

备注:当出现异常的时候,当有多个catch的时候,当捕获到异常之后,后面的catch不执行。当父类的catch(Exception e)在子类的catch(ArithmeticException ae)之前,则编译报错。

 public class Test3{

            public static void main(String[] args){

                   Test3 test =new Test3();

                    int index = test.Demo();

                    System.out.println(index);

             }

             public int Demo(){

                      

                    try{

                            System.out.println("try 打印输出");

                             return 1;

                     }finally{

                          System.out.println("finally 打印输出");

                          //方案一不注释return 2;   方案二注释掉return 2; 

                            return 2; 

                           

                     }

              }

}

方案一输出结果:try 打印输出
                           finally 打印输出

                           2

方案二输出结果:try 打印输出
                           finally 打印输出

                           1


备注:方案一为什么会是输出2,结合方案一按结果往回推,在执行完finally之前try中是不可以被返回内容的的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值