下面图老师小编跟大家分享一个简单易学的Java异常处理的特殊情况教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!
【 tulaoshi.com - 编程语言 】
1、不能在finally块中执行return,continue等语句,否则会把异常“吃掉”;
2、在try,catch中假如有return语句,则在执行return之前先执行finally块
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)  请大家仔细看下面的例子:
  以下是引用片段:
  public class TryTest {  
      public static void main(String[] args) {  
          try {  
              System.out.println(TryTest.test());// 返回结果为true其没有任何异常  
          } catch (Exception e) {  
              System.out.println("Exception from main");  
              e.printStackTrace();  
          }  
          doThings(0);  
      }  
    
      public static boolean test() throws Exception {  
          try {  
              throw new Exception("Something error");// 第1步.抛出异常  
          } catch (Exception e) {// 第2步.捕捉的异常匹配(声明类或其父类),进入控制块  
              System.out.println("Exception from e");// 第3步.打印  
              return false;// 第5步. return前控制转移到finally块,执行完后再返回(这一步被吃掉了,不执行)  
          } finally {  
              return true; // 第4步. 控制转移,直接返回,吃掉了异常  
          }  
      }  
        
      public static void doThings(int i)  
      {  
       try  
       {  
        if(i==0)  
        {  
         //在执行return之前会先执行finally  
         return;  
        }  
        int t=100/i;  
        System.out.println(t);  
       }catch(Exception ex)  
       {  
        ex.printStackTrace();  
       }  
       finally  
       {  
        System.out.println("finally");  
       }  
      }  
  } 
来源:http://www.tulaoshi.com/n/20160219/1620276.html
看过《Java异常处理的特殊情况》的人还看了以下文章 更多>>