예외와 오류는 모두 Throwable 클래스의 하위 클래스입니다. 이 오류는 주로 시스템 리소스 부족으로 인해 발생하는 문제를 나타내며 우리 응용 프로그램은 이러한 유형의 문제를 포착하지 않아야 합니다. 오류의 예로는 시스템 충돌 오류 및 메모리 부족 오류가 있습니다. 오류는 대부분 확인되지 않은 유형에 속하는 런타임에 발생합니다.
예외는 런타임 및 컴파일 시간에 발생할 수 있는 문제입니다. 주로 개발자가 작성한 코드에서 발생합니다. 예외는 확인된 예외와 확인되지 않은 예외와 같은 두 가지 범주로 나뉩니다.
Sr. 아니요. | 키 | 오류 | 예외 |
---|---|---|---|
1 | 유형 | 확인되지 않은 유형으로 분류됨 | 선택 및 선택 취소로 분류 |
2 | 패키지 | java.lang.error에 속합니다. | java.lang.Exception에 속합니다. |
3 | 복구 가능/불가능 | 회복 불가능 | 복구 가능 |
4 | 컴파일 시간에는 발생할 수 없습니다. | 런타임 컴파일 시간에 발생할 수 있습니다. | |
5 | 예시 | OutOfMemoryError ,IOError | NullPointerException, SqlException |
오류의 예
public class ErrorExample { public static void main(String[] args){ recursiveMethod(10) } public static void recursiveMethod(int i){ while(i!=0){ i=i+1; recursiveMethod(i); } } }
출력
Exception in thread "main" java.lang.StackOverflowError at ErrorExample.ErrorExample(Main.java:42)
예외의 예
public class ExceptionExample { public static void main(String[] args){ int x = 100; int y = 0; int z = x / y; } }
출력
java.lang.ArithmeticException: / by zero at ExceptionExample.main(ExceptionExample.java:7)