Java에서는 모든 예외에는 공통 조상 Throwable(throwable)이 있습니다. Throwable은 예외 전파 메커니즘을 사용하여 Java 애플리케이션을 통해 전파될 수 있는 코드 문제의 공통성을 지정합니다.
Throwable: 두 가지 중요한 하위 클래스가 있습니다: Exception 및 Error 둘 다 Java 예외 처리의 중요한 하위 클래스이며 각각에는 많은 수의 하위 클래스가 포함되어 있습니다. 예외와 오류의 차이점은 예외는 프로그램 자체에서 처리할 수 있지만 오류는 처리할 수 없다는 것입니다. ㅋㅋㅋ (추천 학습: java 강좌 )
Error(오류): 는 프로그램에서 처리할 수 없는 오류로, 애플리케이션 실행에 심각한 문제가 있음을 나타냅니다. 대부분의 오류는 코드 작성자가 수행한 작업과 관련이 없으며 대신 코드가 실행되는 동안 JVM(Java Virtual Machine)의 문제를 나타냅니다.
예를 들어 Java 가상 머신 실행 오류(Virtual MachineError)로 인해 JVM에 작업을 계속 실행하는 데 필요한 메모리 리소스가 더 이상 없으면 OutOfMemoryError가 발생합니다. 이러한 예외가 발생하면 JVM(Java Virtual Machine)은 일반적으로 스레드를 종료하도록 선택합니다. 이러한 오류는 Java 가상 머신 실행 오류(Virtual MachineError), 클래스 정의 오류(NoClassDefFoundError) 등 가상 머신 자체에서 결함이 발생하거나 가상 머신이 애플리케이션을 실행하려고 할 때 발생함을 나타냅니다. 이러한 오류는 응용 프로그램의 제어 및 처리 기능 범위를 벗어나기 때문에 확인할 수 없으며, 대부분은 프로그램 실행 시 발생이 허용되지 않는 조건입니다. 잘 설계된 애플리케이션의 경우 오류가 발생하더라도 이로 인해 발생한 예외 조건을 처리하려는 시도가 있어서는 안 됩니다. Java에서 오류는 Error의 하위 클래스를 통해 설명됩니다.예외: 는 프로그램 자체에서 처리할 수 있는 예외입니다. Exception 클래스에는 중요한 하위 클래스인 RuntimeException이 있습니다. RuntimeException 클래스와 해당 하위 클래스는 "일반 JVM 작업"으로 인해 발생한 오류를 나타냅니다.
예를 들어 null 객체 참조를 사용하려고 하거나 0으로 나누거나 배열이 범위를 벗어나는 경우 런타임 예외(NullPointerException, ArithmeticException) 및 ArrayIndexOutOfBoundException이 각각 발생합니다.Exception(예외)은 런타임 예외와 비런타임 예외(컴파일 예외)의 두 가지 범주로 나뉩니다. 프로그램은 이러한 예외를 가능한 한 많이 처리해야 합니다.
런타임 예외: 는 NullPointerException(널 포인터 예외), IndexOutOfBoundsException(아래 첨자 범위를 벗어난 예외) 등과 같은 RuntimeException 클래스 및 해당 하위 클래스의 모든 예외입니다. 이러한 예외는 확인된 예외가 아니며 다음을 수행할 수 있습니다. 프로그램에서 캡처하도록 선택하거나 처리할 필요가 없습니다.
이러한 예외는 일반적으로 프로그램 논리 오류로 인해 발생하므로 프로그램은 논리적 관점에서 이러한 예외가 발생하지 않도록 노력해야 합니다. 런타임 예외의 특징은 Java 컴파일러가 이를 확인하지 않는다는 것입니다. 즉, 이러한 유형의 예외가 try-catch 문으로 캡처되지 않거나 throw되도록 선언되지 않은 경우에도 프로그램에서 발생할 수 있습니다. 절을 던지면 컴파일되고 전달됩니다.비런타임 예외(컴파일 예외): RuntimeException 이외의 예외이며 모두 Exception 클래스와 해당 하위 클래스에 속합니다.
프로그램 구문의 관점에서 처리해야 하는 예외입니다. 처리하지 않으면 프로그램이 컴파일되지 않습니다. IOException, SQLException 등 및 사용자 정의 예외는 일반적으로 사용자 정의 확인 예외가 사용되지 않습니다.위 내용은 Java의 예외 및 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!