던질 수 있음 class는 Java의 모든 오류 및 예외의 상위 클래스입니다. 이 클래스의 인스턴스인 개체는 Java Virtual Machine에 의해 throw됩니다. 또는 던지기 로 던질 수 있습니다. 성명. 마찬가지로 이 클래스나 그 하위 클래스 중 하나는 catch 절의 인수 유형이 될 수 있습니다.
두 하위 클래스의 인스턴스 오류 및 예외 예외적 상황이 발생했음을 나타내는 데 사용되며, 이러한 인스턴스는 관련 정보를 포함하기 위해 예외적 상황의 맥락에서 생성됩니다.
Throwable 클래스의 일반적으로 사용되는 예외 메소드
- 공개 문자열 getMessage(): 예외에 대한 메시지 문자열을 반환합니다.
- 공개 throwable getCause(): 예외의 원인을 반환합니다. 원인을 알 수 없거나 존재하지 않는 경우 null을 반환합니다.
- 공개 문자열 toString(): 예외에 대한 간단한 설명을 반환합니다.
- 공용 무효 printStackTrace(PrintStream s): 예외에 대한 간단한 설명(toString() 사용) + 이 예외에 대한 스택 추적을 오류 출력 스트림(System.err)에 인쇄합니다.
예
class ArithmaticTest {
public void division(int num1, int num2) {
try {
//java.lang.ArithmeticException here.
System.out.println(num1/num2);
//catch ArithmeticException here.
} catch(ArithmeticException e) {
//print the message string about the exception.
System.out.println("getMessage(): " + e.getMessage());
//print the cause of the exception.
System.out.println("getCause(): " + e.getCause());
//print class name + “: “ + message.
System.out.println("toString(): " + e.toString());
System.out.println("printStackTrace(): ");
//prints the short description of the exception + a stack trace for this exception.
e.printStackTrace();
}
}
}
public class Test {
public static void main(String args[]) {
//creating ArithmaticTest object
ArithmaticTest test = new ArithmaticTest();
//method call
test.division(20, 0);
}
} 출력
getMessage(): / by zero getCause(): null toString(): java.lang.ArithmeticException: / by zero printStackTrace(): java.lang.ArithmeticException: / by zero at ArithmaticTest.division(Test.java:5) at Test.main(Test.java:27)