Java 中未處理的異常

Mohammad Irfan 2023年1月30日 2022年5月11日
  1. Java 中未處理的異常
  2. Java 中的異常處理
Java 中未處理的異常

本教程介紹了未處理的異常是什麼以及如何在 Java 中處理它。

異常是異常停止程式碼執行並導致程式碼終止的條件。

在 Java 中,錯誤程式碼或系統故障(例如記憶體問題)都可能導致異常。Java 提供了對異常處理的完整支援,以便程式碼可以順利執行而不會終止並提供所需的結果。

未處理的異常稱為未處理的異常,並導致在執行之前終止程式碼。

在本文中,我們將討論什麼是未處理的異常以及如何處理它。讓我們通過一些例子來理解。

Java 中未處理的異常

在這個例子中,我們將從使用者那裡取兩個整數值並將它們相除。這段程式碼工作正常,沒有任何錯誤或異常,但如果除數為零,Java 不會執行程式碼並丟擲異常。

由於我們這裡沒有使用任何異常處理程式,程式碼停止執行並異常終止。我們可以通過控制檯瞭解異常的原因。

這個異常是未處理的,如果處理不當,我們可以看到它是多麼危險。

import java.util.Scanner;

public class SimpleTesting{
	public static void main(String[] args){

		Scanner sc = new Scanner(System.in);
		System.out.println("Enter any two values");

		int val1 = sc.nextInt(); 
		int val2 =  sc.nextInt(); 
		double result = val1/val2;
		System.out.println("result "+result);  // this statement does not execute

	}
}

輸出:

Enter any two values
30
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at myproject.SimpleTesting.main(SimpleTesting.java:13)

Java 中的異常處理

在這裡,我們使用處理程式(try-catch 塊)來處理異常。這段程式碼與上面的程式碼類似,不同之處在於它有 try-catch 塊,並且即使在異常之後也讓程式碼執行。

注意程式碼的最後一個列印語句。在上面的程式碼中,這條語句因為異常沒有執行。

儘管如此,即使在下面的程式碼中出現異常後它也會執行,因為現在程式碼不會終止。此外,它會跳過程式碼並通過將結果列印到控制檯來開始執行。

請參閱下面的示例。

import java.util.Scanner;

public class SimpleTesting{
	public static void main(String[] args){
		double result = 0.0;
		try {
		Scanner sc = new Scanner(System.in);
		System.out.println("Enter any two values");

		int val1 = sc.nextInt(); 
		int val2 =  sc.nextInt(); 
		result = val1/val2;
		}catch(Exception e) {
			System.out.println("Exception occured "+e);
		}
		System.out.println("result "+result);
	}
}

輸出:

Enter any two values
30
0
Exception occured java.lang.ArithmeticException: / by zero
result 0.0

相關文章 - Java Exception