throws 예제

예를 들어 java.lang 패키지에 정수 클래스가 있습니다. 팩터리 메서드 선언 중 하나를 살펴보겠습니다: catch 블록에 의해 처리되지 않는 프로그램에서 예외가 throw되더라도 위의 예제에서 볼 수 있습니다. 다음으로, 그들의 기본 사용의 몇 가지 예를 보여 드리겠습니다. 메서드에서 선택되지 않은 예외를 throw하는 경우 예외를 처리하거나 throws 절을 선언할 필요가 없습니다. 예를 들어 NullPointerException은 확인되지 않은 예외입니다. 그러나 이 예외는 인스턴스가 throwable 형식이거나 throwable의 하위 클래스여야 합니다. 예를 들어 예외는 Throwable의 하위 클래스이며 사용자 정의 예외는 일반적으로 Exception 클래스를 확장합니다. C++와 달리 int, char, floats 또는 throw할 수 없는 클래스와 같은 데이터 형식은 예외로 사용할 수 없습니다. 다음은 Java에서 Throw, Throw, 시도, Catch, Finally 블록의 동작을 설명하는 매우 간단한 예입니다.

그러나 throw 문을 사용하여 확인 된 예외를 throw하는 경우 catch 블록에서 예외를 처리하거나 throw s선언을 사용하여 명시적으로 선언해야합니다. 예를 들어 FileNotFoundException은 선택되지 않은 예외입니다. 위의 예제에서 avg() 메서드는 catch 문을 사용하여 성공적으로 처리되는 산술 예외의 인스턴스를 throw하므로 프로그램은 “예외 catch”를 출력합니다. 메서드에서 예외를 throw하는 기본 예제를 살펴보겠습니다. throws 키워드는 메서드 선언에 배치할 수 있습니다. 이 메서드에서 throw할 수 있는 예외를 나타냅니다. 이러한 예외를 try-catch로 처리해야 합니다. 우리는 항상 가장 구체적인 예외를 선호해야한다. 우리는 우리의 뛰어난 이벤트에 가장 적합한 클래스를 찾아야합니다. 예를 들어 불법 인수 예외 대신 NumberFormatException을 throw합니다. 우리는 특정 예외를 던지는 것을 피해야한다. 좋은 생각은 우리 자신의, 더 설명 예외를 정의하는 것입니다.

예를 들어 DivideByZeroException이 될 수있는 계산기 클래스에서. 실행 메서드는 소켓예외, 연결예외, 예외의 세 가지 예외를 throw할 수 있습니다. 첫 번째 catch 블록은 연결예외 또는 소켓예외를 catch합니다. 두 번째 catch 블록은 Exception 또는 예외의 다른 하위 클래스를 catch합니다.