Java 忽略異常

Zeeshan Afridi 2023年1月30日 2022年7月18日
  1. Java 中的異常處理
  2. 忽略 Java 中的異常
  3. Java 異常的常見示例
Java 忽略異常

在計算機程式設計中,在軟體測試過程中,我們不可能涵蓋每一個輸入;相反,我們測試軟體的一些通用場景、單元和條件路徑。但是,在某些情況下,你無法防止發生執行時錯誤並被終止,除非你使用了適當的異常處理機制。

但是多虧了 Java 程式設計,它提供了異常處理等概念,你可以防止執行時錯誤並在終止或崩潰程式之前處理它們。

Java 中的異常處理

異常處理是一種幫助開發人員在終止程式之前處理錯誤的技術。它用於處理程式中可能導致錯誤的異常情況,以維持程式的正常流程。

但是,它仍然需要開發人員和測試人員的技能,即他們如何專業和高效地使用異常處理技術來忽略 Java 中的異常。

我們可以使用特殊的關鍵字來處理 Java 中的異常:trycatchfinallythrowsthrow

假設我們有一個將兩個數字相除的小程式。

package codes;

public class Codes {

  public static void main(String[] args) {
    System.out.println(12/2);
    System.out.println(12/1);
    System.out.println(12/0);

    System.out.println("This is the line after the exception");
  }
}

輸出:

6
12
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at codes.Codes.main(Codes.java:10)

在上面的例子中,12 先除以 2、1,然後是 3。前兩個數字 2 和 1 已經平滑地除掉了數字 12,沒有產生任何錯誤,但是最後一位數字 0 卻導致了異常,程式異常終止。

原因是我們不能用 0 來除任何數字,所以編譯器丟擲了一個執行時錯誤並終止了程式。如你所見,由於異常終止,程式的最後一行沒有執行。

忽略 Java 中的異常

正如我們在上面的例子中看到的,我們通過將一個數字除以 0 得到了一個 ArithmeticException。但是在 Java 中有一些方法可以忽略這些異常或異常情況。

我們再來看看上面的例子,儘量忽略異常,保持程式的正常流程。

package codes;

public class Codes {

  public static void main(String[] args) {

    try{
    System.out.println(12/2);
    System.out.println(12/1);
    System.out.println(12/0);
    }
    catch (ArithmeticException e) {
         System.out.println ("Division by Zero() isn't a valid expression\n"
                 + "The type of this exception is " + e);
    }
    System.out.println("This is the line after the exception");
  }
}

輸出:

6
12
Division by Zero() isn't a valid expression
The type of this exception is java.lang.ArithmeticException: / by zero
This is the line after the exception

在這個程式中,我們使用 try-catch 塊來忽略 Java 程式中的異常。基本上,在 try 塊中,我們有可能導致執行時錯誤的程式碼,如果在 try 塊中發現任何異常,則 catch 塊用於顯示任何要解釋的自定義訊息例外。

在這種情況下,前兩條語句執行順利,第三條語句導致由 try-catch 處理的異常,並列印最後一行程式碼。

Java 異常的常見示例

在 Java 中,我們有不同的異常型別;每個人都對場景或條件負責。以下是一些最常見的例外情況。

  1. ClassNotFoundException
  2. NoSuchMethodException
  3. NullPointerException
  4. ArrayIndexOutOfBoundsException
  5. IllegalStateException
  6. ArithmeticException
  7. FileNotFoundException
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

相關文章 - Java Exception