2013-08-25 51 views
-2

我試圖更好地理解何時最好使用異常處理。我不能完全理解它,所以想想如果我能得到一些常見的例子,它會幫助我理解這些事情。異常處理的一些最常見用途是什麼?

如果人們可以舉例說明THEM最常見的用法,那將非常感激。

+1

檢查Robert Sebesta對異常處理的看法:http://www.cs.ndsu.nodak.edu/~slator/html/CS372/sebesta-pdf/13.pdf – acdcjunior

回答

0

程序執行過程中可能會發生錯誤,導致程序過早關閉。

不同類型的錯誤會引發不同類型的異常,這些異常可以/必須根據情況進行處理。

雖然這是一個非常基本的概念,但在很多地方都有詳細介紹,只是Google它而已。

1

異常處理是程序攔截運行時錯誤,採取糾正措施,然後繼續的能力。

當您嘗試打開文件時,可能會發現異常處理的一種常見用法。如果文件不存在,它可能會使程序不可靠。爲了規避這個問題,你需要使用一個異常處理程序。這是一個打開我爲舊項目創建的文本文件的方法。

public static void openFile() { 
    JFileChooser getData = new JFileChooser(); 
    if (getData.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { 
     java.io.File   dataSheet = getData.getSelectedFile(); 
     try { 
      input =         new Scanner (dataSheet); 
     } 
     catch (Exception e) { 
      GenerateInterface.theGame.printOutput("File does not exist."); 
     } 
    } 
} 

正如你可以看到,如果文件不存在,它捕獲(攔截)的錯誤,然後繼續運行,我寫爲異常的代碼。

0

異常是在執行中斷正常指令流程的程序期間發生的事件。所以你必須處理異常。 參見下面簡單的測試,例如:

public class HelloWorld { 

    public static void main(String[] args) { 
     int a; 
     String b="10";// if random input then it may be string instead of number 
     try 
     { 
     a=Integer.parseInt(b); 
     } 
     catch (Exception e) { 

     } 
    } 
} 

如果b變量的值將動態輸入和某人輸入字母值,而不是整數,則拋出java.lang.NumberFormatException所以爲了安全起見,這樣的代碼,你必須把嘗試抓住塊。

如您所見,無需將變量聲明代碼放入試試catch區塊。