java2019. 9. 15. 17:22
	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
Posted by easy16