추천, 2024

에디터의 선택

Java에서 오류와 예외의 차이점

"Throwable"은 Java의 오류 및 예외 계층에 대한 루트 역할을합니다. "오류"는 프로그램 코드로 처리 할 수없는 심각한 조건입니다. "예외"는 프로그램의 코드로 처리 할 수있는 예외적 인 상황입니다. 오류와 예외의 중요한 차이점은 시스템 리소스 부족으로 인해 오류 가 발생하며 코드로 인해 예외 가 발생한다는 입니다. 비교 차트와 함께 오류와 예외의 다른 차이점을 알아 보도록하겠습니다.

비교 차트

비교의 근거오류예외
기본시스템 자원이 부족하여 오류가 발생했습니다.코드로 인해 예외가 발생했습니다.
회복오류는 복구 할 수 없습니다.예외는 복구 가능합니다.
키워드프로그램 코드에서 오류를 처리 할 수있는 방법은 없습니다.예외는 3 개의 키워드 "try", "catch"및 "throw"를 사용하여 처리됩니다.
결과
오류가 감지되면 프로그램이 비정상적으로 종료됩니다.예외가 감지되면 throw 및 catch 키워드에 따라 예외가 발생합니다.
유형오류는 검사되지 않은 유형으로 분류됩니다.예외는 체크 된 또는 확인되지 않은 유형으로 분류됩니다.
꾸러미Java에서 오류는 "java.lang.Error"패키지로 정의됩니다.Java에서 예외는 "java.lang.Exception"에 정의됩니다.
OutOfMemory, StackOverFlow.확인 된 예외 : NoSuchMethod, ClassNotFound.
체크되지 않는 예외 : NullPointer, IndexOutOfBounds.

오류 정의

" Error "는 빌트인 클래스 "Throwable"의 서브 클래스입니다. 오류는 시스템 자원 부족으로 인해 발생하는 중대한 조건이며 프로그램 코드로 처리 할 수 ​​없습니다. 오류는 작성, 게시, 포착 또는 회신 할 수 없기 때문에 어떤 방법으로도 복구 할 수 없습니다. 오류는 일반적으로 프로그램에서 처리 할 수없는 치명적인 오류로 인해 발생합니다.

컴파일러는 발생에 대한 지식이 없으므로 오류는 항상 검사되지 않은 유형입니다. 오류는 항상 런타임 환경에서 발생합니다. 이 오류는 예제를 통해 설명 할 수 있습니다. 프로그램에 스택 오버플로 오류, 메모리 부족 오류 또는 시스템 충돌 오류가 있습니다. 이러한 종류의 오류는 시스템으로 인한 것입니다. 이 코드는 이러한 오류에 대해 책임지지 않습니다. 오류가 발생하면 프로그램이 비정상적으로 종료됩니다.

예외 정의

"Exception"은 내장 클래스 "Throwable"의 하위 클래스이기도합니다. 예외는 런타임 환경에서 발생하는 예외적 인 조건입니다. 예외의 대부분은 프로그램의 코드로 인해 발생하지만 예외는 복구 할 수 있으므로 프로그램 자체에서 예외를 처리 할 수 ​​있습니다. 예외는 3 개의 키워드 "try", "catch", "throw"를 사용하여 처리됩니다. 예외를 작성하는 구문은 다음과 같습니다.

 try {// 여기에 코드 작성} catch (Exception type) {// 여기에 코드 작성} 

위의 코드에서 try 블록에 작성된 코드는 예외를 모니터링하려는 코드입니다. try 블록에서 예외가 발생하면 throw 키워드를 사용하여 throw됩니다. 던져진 예외는 위 코드의 "catch"블록에 의해 잡힐 수 있습니다. "예외 유형"은 발생한 예외 유형입니다.

간단히 말해서 부적절한 코드로 인해 발생한 실수를 예외라고 할 수 있습니다. 예를 들어, 요청 된 클래스가 없거나 요청 된 메소드가없는 경우. 이러한 종류의 예외는 프로그램의 코드로 인해 발생합니다. 시스템은 이러한 종류의 예외에 대해 책임지지 않습니다. 예외는 "checked"및 "unchecked"로 분류됩니다. 검사되지 않은 예외는 런타임 중에 발생하는 컴파일러에 대한 지식이 없지만 컴파일러는 컴파일 타임에 컴파일러에게 알려진대로 확인 된 예외에 대한 정보를 가지고 있습니다.

오류 및 예외의 주요 차이점

  1. 시스템 리소스가 부족한 경우에만 오류가 발생하지만 코드에 문제가있는 경우 예외가 발생합니다.
  2. 오류는 복구 할 수 없지만 예외를 처리 할 코드를 준비하면 예외를 복구 할 수 있습니다.
  3. 오류는 결코 처리 할 수 ​​없지만 예외를 throw하는 코드가 try 및 catch 블록 내에 작성된 경우 예외가 코드에 의해 처리 될 수 있습니다.
  4. 오류가 발생하면 프로그램이 비정상적으로 종료됩니다. 반면에 예외가 발생하면 프로그램은 예외를 throw하고 try 및 catch 블록을 사용하여 처리됩니다.
  5. 오류는 검사되지 않은 유형입니다. 즉, 오류는 컴파일러에 대한 지식이 아니지만 예외는 검사 된 것과 검사되지 않은 것으로 분류됩니다.
  6. 오류는 java.lang.Error 패키지에 정의되는 반면, 예외는 java.lang.Exception로 정의됩니다.

결론:

예외는 프로그램의 코딩에서 수행 된 실수의 결과이며, 오류는 시스템의 부적절한 기능의 결과입니다

Top