읽은 책 정리/자바의정석 3판

[Java] Chapter08 예외처리

포포015 2021. 3. 22. 15:06

프로그래밍오류

- 에러(error) -> 코드에의해 수습될수없는 심각한 오류

- 예외(excetion) -> 코드에 의해 수습될수 있는 미약한오류

 

예외 클래스의 계층구조

- 모든 예외의 최고조상은 Exception 클래스이며, 크게 두그룹으로 나누어짐1) Excetion 클래스와 그 자손들 (주로 사용자의 실수//외부영향에 의해 발생)2) RuntimeExcetion 클래스와 그 자손들 (주로 프로그래머 실수)

 

예외처리하기 try-catch문

- 프로그래밍이 갑작스러운 비정상 종료를 막고, 정상적인 실행 상태를 유지할수 있도록 하는것. try{에 선언된 코드중 예외가 발생한 시점에 바로 catch문으로 가기때문에 예외발생 시점의 try 아래의 코드는 실행 X

 

예외 발생시키기

- 키워드 throw를 사용해서 고의로 예외 발생가능

 (먼저 연산자 new를 이용해 발생시키면, 예외클래스의 객체를 만든후 ,키워드 throw로 예외 발생)

 생성자에 String을 넣으면 catch문에서 , getMessage()를 이용해 출력가능하다

1
2
Excetion e = new Excetion("예외발생");
throw(e);
cs

 

메서드에 예외 선언하기

- 메서드 선언부에 키워드 throws 사용 (메서드에서 발생할수 있는 예외만 적어주면됨)

 

finally블럭

- 예외의 발생여부 와 상관없이, 실행되어야할 코드를 작성한다.

 

자동자원 반환 try-with-resource문

- 입출력이 사용되는 클래스중 사용한후에 꼭닫아줘야하는것들이 있다(File 클래스?에 유용하게 사용)