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 |