Java 예외는 코드 세그먼트에서 발생하는 예외 (즉, 오류) 상황을 설명하는 객체입니다. 예외가 발생하면 예외를 나타내는 객체가 생성되어 오류를 일으키는 메소드에서 버립니다. 이 방법은 예외 자체를 처리하거나 전달하도록 선택할 수 있습니다. 두 경우 모두 예외가 잡히고 처리됩니다. 예외는 Java 런타임 시스템 또는 수동 코드에 의해 생성 될 수 있습니다. Java가 던진 예외는 언어 사양을 위반하거나 Java 실행 환경의 한계를 초과하는 기본 오류와 관련이 있습니다. 수동 인코딩에 의해 생성 된 예외는 기본적으로 메소드 발신자의 오류 조건을보고하는 데 사용됩니다.
Java Acc 그들이 작동하는 방법은 다음과 같습니다. 이 프로그램은 원하는 예외 모니터링이 시도 블록에 포함되어 있다고 선언합니다. 시도 블록에서 예외가 발생하면 던져집니다. 코드는이 예외 (캐치와 함께)를 포착하여 합리적인 방식으로 처리 할 수 있습니다. 시스템에 의해 생성 된 예외는 Java 런타임 시스템에 의해 자동으로 던져집니다. 키워드 던지기를 사용하여 수동으로 예외를 던집니다. 던진 방법에 대한 예외는 Throws 절에 의해 정의되어야합니다. 메소드 리턴 전에 절대적으로 실행되는 모든 코드는 마지막으로 블록에 배치됩니다.
예외 처리 블록의 일반적인 형태는 다음과 같습니다.
{// 오류를 모니터링하기 위해 코드 블록} catch (exceptiontype1 exob) {// exceptiontype1} catch (exceptiontype2 exob) {// 예외적 시도가 끝나기 전에 실행할 코드}
여기서 ExceptionType는 예외가 발생한 유형입니다.
모든 예외 유형은 내장 클래스 던지기의 서브 클래스입니다. 따라서 Throwable은 예외 클래스 계층의 최상위 레벨에 있습니다. Throwable 직후에는 예외를 두 개의 다른 가지로 나누는 두 개의 서브 클래스가 있습니다. 지점은 예외입니다.
이 클래스는 사용자 프로그램에 의해 잡힐 수있는 예외에 사용됩니다. 또한 자신만의 사용자 예외 유형 서브 클래스를 작성하는 데 사용할 수있는 클래스이기도합니다. 예외 분기에는 중요한 서브 클래스 runtimeexception이 있습니다. 이 유형의 예외는 귀하가 쓰는 프로그램에 대해 자동으로 정의되며 0으로 나누기 및 불법 배열 인덱싱과 같은 오류가 포함됩니다.
다른 유형의 분기는 오류가있는 최상위 수준으로 정상적인 환경에서 프로그램에 의해 잡히지 않는 예외를 정의합니다. Java 런타임 시스템에서 유형 오류를 제외하고 런타임 시스템 자체와 관련된 오류를 표시하는 데 사용됩니다. 스택 오버 플로우는이 오류의 예입니다. 이 장에서는 오류 유형에 대한 예외 처리에 대해서는 논의하지 않습니다. 종종 프로그램이 제어 할 수없는 치명적인 오류이기 때문입니다.