예외처리의 흐름 미리보기
- 예외를 어떻게 정의하고
- 예외가 발생할 수 있음을 알리고
- 사용자는 예외가 발생할 수 있음을 알고 예외를 핸들링하는지
throws / throw
throws
- 메서드 이름 뒤에 붙어 이 메서드가 어떠한 예외사항을 던질 수 있는지 알려주는 예약어
- 여러 종류의 예외사항을 적을 수 있음
throw
- 메서드 안에서 실제로 예외 객체를 던질 때 사용하는 예약어
- 실제로 던지는 예외 객체 하나와 같이 써야함
- 일반 메서드의 return 키워드처럼 throw 아래의 구문들은 실행되지 않고 throw문과 함께 메서드가 종료됨
- 메서드를 선언할 때 이 메서드가 위험하다는 것을 미리 예측해야함
- 예측되었다면 throw 키워드와 함께 . 이메서드가 위험하다고 알려야 함
위험한 메서드를 사용한다면 예외를 핸들링(handling)하기
try{
}catch (){
}finally {
}
public static void main(String[] args) {
OurClass ourClass = new OurClass();
try{
ourClass.thisMethidIsDangerous();
}catch (OurBadException e){
System.out.println(e.getMessage());
}finally {
System.out.println("우리는 방금 예외를 핸들링 했다. 정상처리든 예외 발생이든 여기를 거친다");
}
}