public static void main(String [] args) {
TestApplication test = new TestApplication();
test.A();
}
private void A() {
B();
}
private void B() {
C();
}
private void C() {
throwable();
}
private void throwable() {
int [] intArray = new int [5];
try {
intArray = null;
System.out.println(intArray[5]=1);
}catch (Throwable t) {
System.out.println("getMessage() : " + t.getMessage());
System.out.println("toString() : " + t.toString()); //toString은 getMessage보다 더 자세하게 예외의 내용을 출력
t.printStackTrace(); //호출된 함수의 역순으로 결과가 출력된다.
}
System.out.println("outside");
}
결과 :
getMessage() : null
toString() : java.lang.NullPointerException
java.lang.NullPointerException
at com.test.testapplication.TestApplication.throwable(TestApplication.java:46)
at com.test.testapplication.TestApplication.C(TestApplication.java:37)
at com.test.testapplication.TestApplication.B(TestApplication.java:34)
at com.test.testapplication.TestApplication.A(TestApplication.java:30)
at com.test.testapplication.TestApplication.main(TestApplication.java:15)
outside
출처 : 자바의 신
'java' 카테고리의 다른 글
| StringBuilder, StringBuffer, CharSequence 용도 (0) | 2019.09.15 |
|---|---|
| throws 명령어와 예외 처리 방법 두가지 (0) | 2019.09.15 |
| try-catch finally (0) | 2019.09.15 |
| enum class 활용법 (0) | 2019.09.14 |
| interface와 abstract 차이 (0) | 2019.09.14 |