차례:
- 예외 상황에서 오류 발생
- 호출자에게 오류 전달
- Java는 checked (JRE가 모니터링하는 것)와 unchecked (JRE가 모니터링하지 않는 것)의 두 가지 예외를 제공합니다. 검사되지 않은 예외를 처리 할 수있는 옵션이 있습니다. 그러나 Java에서는 확인 된 예외를 처리해야합니다. 관련된 체크 예외가있는 메소드를 사용하려고하면 코드가 컴파일되지 않습니다.
비디오: Java Programming Tutorial - 82 - Exception Handling 2024
Java 코드가 문제를 해결하기 위해 모든 노력을 기울이는 것이 필수적입니다. 그러나 코드에 정보, 리소스, 권한 또는 문제를 해결하기위한 다른 요구 사항이 충분하지 않은 경우가 있습니다.
이 경우 예외 객체를 사용하여 코드에서 오류가 발생합니다. 예외 라는 용어는 응용 프로그램이 수행하는 첫 번째 행위가 아니라 규칙의 예외가되어야하기 때문에 적절합니다. 그렇더라도 예외적 인 조치가 필요한 오류가 응용 프로그램에서 발생하고 다음 단원에서는 이러한 상황을 처리하는 방법에 대해 설명합니다.
->예외 상황에서 오류 발생
실습을 위해 여러 종류의 오류를 생성 할 수있는 응용 프로그램을 만들 수 있습니다. 일반적으로 값이 잘못된 범위에 있으면 오류가 발생하지 않고 사용자에게 직접 메시지를 표시합니다. 그러나 메서드 내에서 오류를 throw하고 catch하는 방법을 보여주는 예제를 만들 수 있습니다.
호출자에게 오류 전달
->시작하는 많은 코드 예제는 main ()에서 메소드를 호출하는 지점에 도달하기 시작한 것입니다. main () 메서드는 항상 응용 프로그램의 최상위 수준입니다. 메서드를 호출 할 때 호출하는 메서드가 추가 수준을 형성합니다.
예를 들어, main ()에서 호출 된 메소드는 애플리케이션의 두 번째 레벨에 있습니다. 그 메소드가 다른 메소드를 호출해야한다면, 그 메소드는 세 번째 레벨이 될 것입니다. 대부분의 응용 프로그램은 여러 수준의 호출로 구성됩니다.
호출 스택이라는 형식으로 표시합니다. 호출 스택은 메소드 목록과 다른 메소드에 의해 호출되는 순서입니다. 호출 스택을 알고 있으면 응용 프로그램의 현재 레벨에서 발생하지 않을 잠재적 인 오류의 원인을 찾을 수 있습니다.오류 처리는 훌륭한 프로그래밍 실습의 필수 요소입니다. 끊임없이 충돌하지 않는 강력한 응용 프로그램을 원한다면 좋은 오류 처리 기능을 제공해야합니다. 그러나 오류를 처리 할 충분한 정보가 없을 때 오류를 처리하려고해도 문제가됩니다.
코드가 너무 낮은 수준에서 오류를 수정하려고 시도하면 오류를 수정할 수있는 수준에서 오류를 숨 깁니다. 예, 가능한 한 가장 낮은 수준의 오류를 수정하려고하지만, 실제로 더 심각한 것을 숨길 수있는 복구를 제공하지는 않습니다.
특정 레벨의 응용 프로그램에 필요한 자원, 정보, 권한, 사용자 액세스 또는 오류 처리에 필요한 다른 항목이 없다는 것을 알게되면 해당 예외 객체로 throw 문을 발행합니다.이전 레벨의 응용 프로그램은 예외를 수신하고 처리 할 수 있는지 여부를 판별합니다.
그러나 main () 메서드가 예외를 받으면 오류와 함께 수행 할 작업을 결정해야합니다. 그렇지 않으면 응용 프로그램이 중단됩니다. 일반적으로 응용 프로그램을 중단 시키려면 나쁜 프로그래밍 습관으로 간주됩니다. 응용 프로그램에서 발생하는 오류를 다루는 방법을 생각해 내야합니다.
필요한 오류 처리
Java는 checked (JRE가 모니터링하는 것)와 unchecked (JRE가 모니터링하지 않는 것)의 두 가지 예외를 제공합니다. 검사되지 않은 예외를 처리 할 수있는 옵션이 있습니다. 그러나 Java에서는 확인 된 예외를 처리해야합니다. 관련된 체크 예외가있는 메소드를 사용하려고하면 코드가 컴파일되지 않습니다.
확인 된 예외는 JRE가 모니터 할 클래스 정의에 의해 전달되는 예외입니다. JRE는 클래스의 사용자가 예외 처리를 제공하여 클래스가 확실하게 수행되는지 확인합니다.
모든 종류의 이상한 세부 사항은 검사 된 예외 및 확인되지 않은 예외와 관련되어 있습니다. 예외 검사 여부를 쉽게 알 수있는 방법은 부모 클래스를 파악하는 것입니다. Error 또는 RuntimeException 클래스에서 서브 클래 싱 된 모든 예외는 선택 취소되며 다른 모든 예외가 점검됩니다.
가장 좋은 방법은 응용 프로그램의 모든 예외를 처리하는 것이며, 예외가 검사되었는지 또는 선택 취소되었는지 걱정할 필요가 없습니다. 훌륭한 개발자는 항상 잠재적 인 오류를 처리합니다. 이것이 결론입니다.