java学习之路-------try....catch....让你想不到的结果

一个你会忽略的问题。。。今天被问到了。。。。自己才发现什么也不知道。。。。

第一种:

public   class  TryCatchTest {
              
       public   static   void  main(String[] args) {
          
          System.  out  .println(fun());
          
     }
     
       public   static  String fun(){
            try  {
                int  temp =10/0;
          
            return   "abc"  ;
              
          }  catch  (Exception e) {
              e.printStackTrace();
          
              
          }  finally  {
              System.  out  .println( "NO"  );
              
          }
            return   "aaa"  ;
     }

}

结果:
java.lang.ArithmeticException  : / by zero
     at test.TryCatchTest.fun(  TryCatchTest.java:13  )
     at test.TryCatchTest.main(  TryCatchTest.java:7  )
NO
aaa


第二种
public   class  TryCatchTest {
              
       public   static   void  main(String[] args) {
          
          System.  out  .println(fun());
          
     }
     
       public   static  String fun(){
            try  {
                int  temp =10/0;
          
            return   "abc"  ;
              
          }  catch  (Exception e) {
              e.printStackTrace();
                return   "aaa"  ;
              
          }  finally  {
              System.  out  .println( "NO"  );
              
          }
          
     }

}
结果:
java.lang.ArithmeticException  : / by zero
     at test.TryCatchTest.fun(  TryCatchTest.java:13  )
     at test.TryCatchTest.main(  TryCatchTest.java:7  )
NO
aaa


第三种

public   class  TryCatchTest {
              
       public   static   void  main(String[] args) {
          
          System.  out  .println(fun());
          
     }
     
       public   static  String fun(){
            try  {
                int  temp =10/0;
          
            return   "abc"  ;
              
          }  catch  (Exception e) {
              e.printStackTrace();
                return   "aaa"  ;
              
          }  finally  {
              System.  out  .println(  "NO" );
                return   "bbb"  ;
          }
          
     }

}

结果:
java.lang.ArithmeticException  : / by zero
     at test.TryCatchTest.fun(  TryCatchTest.java:13  )
     at test.TryCatchTest.main(  TryCatchTest.java:7  )
NO
bbb

第三种

public   class  TryCatchTest {
              
       public   static   void  main(String[] args) {
          
          System.  out  .println(fun());
          
     }
     
       public   static  String fun(){
            try  {
                int  temp =10/0;
          
          
              
          }  catch  (Exception e) {
              e.printStackTrace();
                return   "aaa"  ;
              
          }  finally  {
              System.  out  .println( "NO"  );
          
          }
            return   "bbb"  ;
     }

}


java.lang.ArithmeticException  : / by zero
     at test.TryCatchTest.fun(  TryCatchTest.java:13  )
     at test.TryCatchTest.main(  TryCatchTest.java:7  )
NO
bbb



第四种:

public   class  TryCatchTest {
              
       public   static   void  main(String[] args) {
          
          System.  out  .println(fun());
          
     }
     
       public   static  String fun(){
            try  {
                int  temp =10/0;
          
          
              
          }  catch  (Exception e) {
              e.printStackTrace();
              
              
          }  finally  {
              System.  out  .println(  "NO" );
                return  "aaa"  ;
          }
            return  "bbb"  ; //这里报错
     }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值