Java에서는 모든 예외에는 공통 조상이 있습니다. Throwable은 예외 전파 메커니즘을 통해 코드의 Java 응용 프로그램을 통해 전송할 수있는 모든 문제의 공통성을 지정합니다.
Throwable에는 예외와 오류의 두 가지 중요한 서브 클래스가 있습니다. 둘 다 Java 예외 처리에 중요한 서브 클래스이며 각각에는 많은 수의 서브 클래스가 포함되어 있습니다.
inception은 응용 프로그램에서 예측 가능하고 복구 가능한 문제입니다. 일반적으로 대부분의 이상은 중등도에서 가벼운 문제를 나타냅니다. 예외는 일반적으로 특정 환경에서 생성되며 일반적으로 코드의 특정 방법 및 작업에서 발생합니다. Echoinput 클래스에서는 readline 메소드를 호출하려고 할 때 IoException이 발생할 수 있습니다.
예외 클래스에는 중요한 서브 클래스, runtimeexception이 있습니다. runtimeexception 클래스 및 하위 클래스는 "공통 JVM 작업"에 의해 제기 된 오류를 나타냅니다. 예를 들어, Null Object Reference, Zero Divisor 또는 Array of Bounds를 사용하려고하면 런타임 예외 (NullPointerException, ArithMeticeXception) 및 ArrayIndexOutoFBoundException이 각각 제기됩니다.
② .Error는 응용 프로그램을 실행할 때 심각한 문제를 나타냅니다. 대부분의 오류는 코드 작성자가 수행 한 작업과 관련이 없지만 코드가 실행될 때 JVM (Java Virtual Machine)의 문제를 나타냅니다. 예를 들어, JVM에 더 이상 작동을 계속하는 데 필요한 메모리 리소스가 없으면 OutofMemoryError가 나타납니다.
예외 확인과 예외를 확인하지 않는 것 사이의 구분
Java의 예외는 두 가지 범주로 나뉩니다.
1. 예외 확인 (비 런타임 예외)
2. unchecked Exception (런타임 예외)
런타임 예외
runtimeexception 클래스는 예외 클래스의 서브 클래스입니다. 런타임 예외라고합니다. Java의 모든 런타임 예외는 runtimeexception 클래스에서 직접 또는 간접적으로 상속됩니다.
runtimeexception에서 예외에서 물려받지 않는 Java의 예외는 런타임이 아닌 예외입니다.
시도에 이어 여러 캐치가 이어질 수 있지만, 얼마나 많은지에 관계없이 최대 하나의 캐치 블록이 실행됩니다.
런타임이 아닌 예외의 경우 처리되어야합니다. 그렇지 않으면 컴파일 할 수 없습니다.
그것을 다루는 방법에는 두 가지가 있습니다.
1. try .. catch..finally를 사용하여 캡처합니다.
2. Throws Exception 유형을 쓰기 예외와 같은 예외를 생성하는 메소드 선언 후에는 예외를 외부 계층에 던지십시오.
런타임 예외는 처리 될 수 있습니다. 런타임 예외를 처리하지 않는 것이 좋습니다.
확장 : 오류와 예외의 차이 (오류 대 예외)
1) .java.lang.error : 중대한 오류를 표시하는 데 사용되는 던질 수있는 서브 클래스. 합리적인 응용 프로그램은 시도/캐치 오류로 이동해서는 안됩니다. 대부분의 오류는 비정상적이며 전혀 발생해서는 안됩니다.
java.lang.exception : Throwable의 서브 클래스는 잡을 수있는 합리적인 프로그램을 나타내는 데 사용됩니다. 즉, 그것은 단지 프로그램 실행 조건 일 뿐이며 심각한 오류가 아니며 사용자 프로그램을 포착하도록 권장됩니다.
2). 오류 및 runtimeexception 및 하위 클래스는 검사되지 않은 예외이며 다른 모든 예외 클래스는 예외를 확인합니다.
점검 된 예외 : 일반적으로 복구 가능한 프로그램에서 던져졌으며 프로그램을 사용하여 그러한 예외에서 복구 할 수 있습니다. 예를 들어, FilenotFoundException, ParseException 등. 점검 된 예외는 컴파일 단계에서 발생하며 시도해보십시오 ... 캐치 (또는 던지기)를 사용해야합니다. 그렇지 않으면 컴파일이 전달되지 않습니다.
확인되지 않은 예외 : 일반적으로 모든 것이 정상이라면 일어나지 말아야 할 예외이지만 발생합니다. 런타임 중에 발생하며 주로 프로그램의 논리적 문제로 인해 불확실성이 있습니다. 예를 들어, arrayindexoutofboundexception, classcastException 등. 언어 자체의 관점에서 프로그램은 Catch와 같은 예외를 사용해서는 안됩니다. runtimeexception과 같은 예외에서 잡아 복구 할 수는 있지만 터미널 프로그래머는 그렇게 할 필요가 없기 때문에이를 수행하는 것이 좋습니다. 이 유형의 오류는 버그 자체이며 수정되어야하므로 이러한 오류가 발생하면 즉시 프로그램을 중지해야합니다. 따라서 오류 및 확인되지 않은 예외에 직면하여 프로그램을 자동으로 종료해야합니다. 프로그래머는 시도/캐치와 같은 작업을 수행해서는 안되지만 그 이유를 찾고 코드 로직을 수정해야합니다.
runtimeexception : runtimeexception 시스템에는 잘못된 유형 변환, 배열 외부 액세스, 널 포인터에 액세스하려는 시도 등이 포함됩니다.
runtimeexception을 처리하는 원리는 다음과 같습니다. runtimeexception이 발생하면 프로그래머의 오류 여야합니다. 예를 들어, 배열 외부 액세스 예외는 배열 첨자 및 배열 경계를 확인하면 피할 수 있습니다. 기타 (ioxception 등) 점검 된 예외는 일반적으로 파일 끝에서 데이터를 읽는 것과 같은 외부 오류입니다. 이것은 프로그램 자체의 오류가 아니라 응용 프로그램 환경에서 발생하는 외부 오류입니다.
위의 기사 java_exception 클래스 (오류와 예외의 차이에 대한 소개)는 내가 공유하는 모든 내용입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.