티스토리 뷰

Server/Spring

[Java] throw vs throws

SdardewValley 2021. 12. 20. 23:00
반응형

throw와 throws 모두 예외 처리와 관련된 키워드이다. 이 두 키워드는 사용하는 상황에서 차이가 난다.

 

throw

throw는 예외를 발생시킬 때 사용한다.

 

만약, 이름을 입력을 받았을 때 문자열에 아무것도 입력이 되지 않았을 때를 생각해보자.

 

if (name.length == 0) throw RuntimeException("Name is empty.");

위와 같이 이름의 길이를 검사하고, 길이가 0인 경우 예외를 발생시키면 된다.

 

throws

private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

public static void main(String[] args) throws IOException {
    ...
}

위와 같이 흔히 사용하는 BufferedReader 혹은 BufferedWriter을 사용할 때 main 메서드에 throws IOException이 붙은 것을 확인할 수 있다.

 

throws는 메서드 선언을 할 때, 해당 메서드가 예외를 던질 가능성이 있을 때 사용한다.

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함