코딩/Java

자바 예외 던지기

위의 코드처럼 예외를 강제하는 경우도 있다.

new FileReader 라는 생성자는 내부적으로 예외를 발생시켜서 사용자가 처리하도록 한다.

 

 

지금까지 예외를 처리하는 방법으로 try...catch...finally를 배웠다. 이외에 다른 방법도 있다.  throws를 사용하는 것이다. throws는 예외처리를 다음 사용자에게 넘기는 것이다. 

 

 

throws와 throw 둘 다 Exception을 발생시킨다는 것에는 차이가 없다. 하지만 둘 사이의 차이점은

throws는 현재 메서드에서 자신을 호출한 상위 메서드로 Exception을 발생시킴

throw는 억지로 에러를 발생시키고자 할 때 사용한다(현재 메서드, 혹은 상위메서드로)

 

다시 말하자면 throws 키워드를 사용하는 메서드를 호출한 상위 메서드에서 이러한 에러 처리에 대한 책임을 맡게 되는 것이고 throw는 프로그래머가 사용자 정의 exception을 강제로 발생시켜 메서드 내에서 예외처리를 수행하는 것이다. 이 때 throw는 현재 메서드 내에서 예외를 강제로 발생시키거나 현재 메서드에게 exception 정보를 전달할 수 있다.

 

'코딩 > Java' 카테고리의 다른 글

예외 만들기  (0) 2021.01.05
자바 scanner  (0) 2021.01.02
자바 finally  (0) 2020.12.30
자바 예외 다중캐치  (0) 2020.12.29
자바 예외  (0) 2020.12.27