Java에서 처리되지 않은 예외
이 튜토리얼은 처리되지 않은 예외가 무엇이며 Java에서 처리하는 방법을 소개합니다.
예외는 코드 실행을 비정상적으로 중지하고 코드를 종료시키는 조건입니다.
Java에서 예외는 잘못된 코드나 메모리 문제와 같은 시스템 오류로 인해 발생할 수 있습니다. Java는 코드가 종료 없이 원활하게 실행되고 원하는 결과를 제공할 수 있도록 예외 처리를 완벽하게 지원합니다.
처리되지 않은 예외를 처리되지 않은 예외라고 하며 실행 전에 코드를 종료합니다.
이 기사에서는 처리되지 않은 예외가 무엇이며 어떻게 처리하는지 논의할 것입니다. 몇 가지 예를 들어 이해합시다.
Java에서 처리되지 않은 예외
이 예제에서는 사용자로부터 두 개의 정수 값을 가져와서 나눕니다. 이 코드는 오류나 예외 없이 잘 작동하지만 Java는 코드를 실행하지 않고 제수가 0이면 예외를 throw합니다.
여기서는 예외 처리기를 사용하지 않았으므로 코드가 실행을 중지하고 비정상적으로 종료됩니다. 예외의 이유를 이해하기 위해 콘솔을 볼 수 있습니다.
이 예외는 처리되지 않았으며 제대로 처리하지 않으면 얼마나 위험한지 알 수 있습니다.
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