상세 컨텐츠

본문 제목

Java - 예외, Exception, try~catch~finally

개발/Java

by 뉴에이스 2018. 9. 28. 15:17

본문

Exception

 

- 직접처리 방식과 간접처리 방식으로 지원
- 직접처리 연관 키워드 : try, catch, finally
- 간접처리 연관 키워드 : throws
- 자바에서 발생하는 예외들은 클래스로 정의되어 있음
- 상속관계
				Object
					|
				Throwable (예외관련 클래스의 최상위 부모)
					|
				---------------------	
				|					|
			Exception				Error (프로그램에서 처리가 불가능한 부분)
				|							(ex. vm error...)
				|	(RuntimeException : 실행시 발생)
				|	(Runtime 이외 : 컴파일시 발생)
			-------------------------					
			|						|
	FileNotFoundException		RuntimeException (=unchecked : 선택적예외처리)
	IOException					...
	...
	
- Runtime 관련 예외들은 예외 처리가 필수가 아님, unchecked exception
- Runtime 이외의 예외들은 반드시 예외처리가 되어야 한다, checked exception
- 사용자가 예외를 직접 정의(예외 관련 클래스를 상속)
- 사용자 예외 정의와 함께 많이 사용하는 키워드 : throw(강제로 예외 발생)

 

소스

 

public static void main(String[] args) {
	System.out.println(1);
	try {
		System.out.println(2);
		String s = null;
		System.out.println(s.length());
		System.out.println(3);
	}
	catch (Exception e) {
		System.out.println(4);
		//return; // 메서드를 종료 1-2-4-5
		System.exit(0); // 즉시 프로그램 종료 1-2-4 
	}
	finally {
		System.out.println(5); // 무조건 실행. return보다 우선순위가 높다
	}
	System.out.println(6);
}

 

결과

 

1
2
4

 

'개발 > Java' 카테고리의 다른 글

Java - Wrapper 클래스  (0) 2018.09.28
Java - 예외의 직접처리 + 간접처리 : throws + throw  (0) 2018.09.28
Java - final  (0) 2018.09.28
Java - 인터페이스  (0) 2018.09.28
Java - 추상 클래스  (0) 2018.09.28

관련글 더보기

댓글 영역