更好地理解檢查與。 未經檢查的異常——如何在 Java 中更好地處理異常?

已發表: 2014-09-15

Crunchify 的 Java 檢查異常

檢查異常

什麼是 Java 編程語言中的檢查異常。 用簡單的語言:在編譯時檢查的異常稱為檢查異常。 其中一些在下面提到。 如果在您的代碼中,如果某些方法拋出checked exception 那麼該方法必須要么handle the exception ,要么必須使用throws關鍵字指定異常。

  1. IO異常
  2. SQL異常
  3. 數據訪問異常
  4. ClassNotFoundException
  5. 調用目標異常
  6. 格式錯誤的 URL 異常

我們來看一個例子:

在下面的示例中,我們將獲取站點“Crunchify.com”的內容並在控制台中打印它。 在此操作期間,Java 程序將在下面突出顯示的行處拋出MalformedURLExceptionIOException

有兩種方法可以解決這個問題。 在代碼中Add throws clauseAdd Try, Catch block來解決它。 這是一個更新的代碼。

  1. 修改第 16 和 20 行並添加throws IOException
  2. 在 26,42,43 上添加 try catch 塊

未經檢查的異常

Java中的未經檢查的異常是那些NOT verified during Compile time其處理的異常。 這些異常是由於糟糕的編程而發生的。

該程序不會給出編譯錯誤。

所有未經檢查的異常都是RuntimeException類的直接子類。

Simple Example :您創建了接受用戶輸入的在線表單。 它是自由文本形式。 在電子郵件字段、用戶名字段或電話號碼字段的情況下,使用可能會輸入任何錯誤的值。

如果您沒有在客戶端進行驗證,那麼在生產中運行應用程序時有更多可能獲得運行時驗證異常。 DB 操作或將字段從一種格式轉換為另一種格式可能會引發錯誤。

以下是未檢查異常的類型:

  • 空指針異常
  • ArrayIndexOutOfBound
  • IllegalArgumentException
  • 非法狀態異常

最讓我煩惱的是 NullPointer Exception。 上週我寫了一篇關於 NPE 的詳細文章。

總共提供了 8 種不同的技巧來避免 NPE。

Java 檢查與未檢查的異常 - Crunchify

ArrayIndexOutofBoundException - Crunchify 提示

在 Java 7 中,您可以在單個Catch block中處理多個異常。 您可以將第 13 行從上面的行更改為下面。

總而言之,Checked 和 Unchecked Exception 都使用關鍵字try, catchfinally來處理。

在功能方面 Checked 和 Unchecked Exception 是相同的。