91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java拋出異常與finally實例解析

發布時間:2020-09-06 00:36:06 來源:腳本之家 閱讀:151 作者:武神醬丶 欄目:編程語言

這篇文章主要介紹了java拋出異常與finally實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

java拋出異常與finally實例解析

代碼如下:

package test1;
public class EmbededFinally {  
  public static void main(String args[]) {    
    int result;    
    try {      
      System.out.println("in Level 1");      
       try {        
        System.out.println("in Level 2");
 // result=100/0; //Level 2
        
         try {
          
           System.out.println("in Level 3");
           
           result=100/0; //Level 3        
        }        
        catch (Exception e) {          
          System.out.println("Level 3:" + e.getClass().toString());        
        }                
        finally {          
          System.out.println("In Level 3 finally");        
        }               
        // result=100/0; //Level 2
      
        }      
      catch (Exception e) {
        
         System.out.println("Level 2:" + e.getClass().toString());
      
       }
       finally {
                System.out.println("In Level 2 finally");      
       }       
      // result = 100 / 0; //level 1
    
    }     
    catch (Exception e) {
            System.out.println("Level 1:" + e.getClass().toString());
    
    }    
    finally {      
       System.out.println("In Level 1 finally");    
    } 
  }
}

java拋出異常與finally實例解析

運行結果如上圖:

對于代碼的分析: 前三行輸出結果,是try中三個正常的輸出語句,并且在最后拋出了一個by zero錯誤。然后用catch語句捕捉了這個語句,并且輸出了語句。但我們會發現后面的catch語句都沒有被執行,而是直接執行了finally語句,說明finally語句改變了代碼中輸出的邏輯。但具體的原因尚不明確。

最后,提出一個小問題:finally語句一定會執行嗎?

我姑且自己回答一下,如果在finally之前使用了exit,退出了程序,那么finally語句就不會執行了。

比如,我們用以下的測試代碼:

package test1;
public class SystemExitAndFinally {
	public static void main(String[] args)
	 {
		try{
			System.out.println("in main");
			throw new Exception("Exception is thrown in main");
			//System.exit(0);
		}
		catch(Exception e)
		    {
			System.out.println(e.getMessage());
			System.exit(0);
		}
		finally
		    {
			System.out.println("in finally");
		}
	}
}

運行結果如圖:

java拋出異常與finally實例解析

我們可以看到,finally后的語句并沒有被輸出,而在退出程序前的語句并沒有任何影響。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄骅市| 利川市| 临沂市| 阿尔山市| 盐边县| 霍林郭勒市| 邯郸市| 尉犁县| 大悟县| 长子县| 武隆县| 康保县| 南平市| 达日县| 望奎县| 三亚市| 肇东市| 全州县| 北碚区| 周至县| 东乡族自治县| 莎车县| 综艺| 青田县| 光泽县| 南汇区| 永吉县| 中阳县| 大方县| 临清市| 漠河县| 康马县| 许昌县| 广宗县| 宁南县| 明水县| 彝良县| 通化市| 肇庆市| 栾城县| 兰考县|