728x90
반응형
public class ErrMessageTest {
public static void main(String[] args) {
try{
System.out.println(0/0);
System.out.println(2);
}catch(Exception e){
System.out.println("e.getMessage() :"+e.getMessage());
System.out.println("e.toString() :"+e.toString());
System.out.print("e.printStackTrace() :");
e.printStackTrace();
}
}
}
: 출력값
e.getMessage() :/ by zero
e.toString() :java.lang.ArithmeticException: / by zero
e.printStackTrace() :java.lang.ArithmeticException: / by zero
T4.main(T4.java:7)
1. getMessage() : Throwable 클래스에서 getMessage()를 다음과 같이 정의하고 있다.
public String getMessage() {
return detailMessage;
}
즉, 에러가 발생하면서 생기는 간단한 메시지를 리턴해 준다.
2. toString() : Throwable 클래스에 정의된 toString()
public String toString() {
String s = getClass().getName();
String message = getLocalizedMessage();
return (message != null) ? (s + ": " + message) : s;
}
public String getLocalizedMessage() {
return getMessage();
}
위에서 정의된 것처럼 toString을 호출하면 클래스 이름과 함께 getMessage()를 호출하게 된다.
3. printStackTrace() :
toString() 와 에러 발생 소스코드 위치를 단계별로 리턴해 준다.
public static void main(String[] args) {
try{
System.out.println(0/0);
System.out.println(2);
}catch(Exception e){
System.out.println("e.getMessage() :"+e.getMessage());
System.out.println("e.toString() :"+e.toString());
System.out.print("e.printStackTrace() :");
e.printStackTrace();
}
}
}
: 출력값
e.getMessage() :/ by zero
e.toString() :java.lang.ArithmeticException: / by zero
e.printStackTrace() :java.lang.ArithmeticException: / by zero
T4.main(T4.java:7)
1. getMessage() : Throwable 클래스에서 getMessage()를 다음과 같이 정의하고 있다.
public String getMessage() {
return detailMessage;
}
즉, 에러가 발생하면서 생기는 간단한 메시지를 리턴해 준다.
2. toString() : Throwable 클래스에 정의된 toString()
public String toString() {
String s = getClass().getName();
String message = getLocalizedMessage();
return (message != null) ? (s + ": " + message) : s;
}
public String getLocalizedMessage() {
return getMessage();
}
위에서 정의된 것처럼 toString을 호출하면 클래스 이름과 함께 getMessage()를 호출하게 된다.
3. printStackTrace() :
toString() 와 에러 발생 소스코드 위치를 단계별로 리턴해 준다.
728x90