[Java] 예외처리
런타임 시 발생하는 오류를 처리해 주자.
어떻게 사용하는지에 집중해 알아보자.
try {
}catch (Exception e) {
}
위와 같은 형식으로 작성된다.
예외가 발생하면 발생한 예외와 일치하는 catch블럭을 확인하고, catch 블럭 내의 문장을 수행한다.
그 다음 전체 try-catch 문을 빠져나가서 다음 코드를 계속해서 수행한다.
예외가 발생하지 않으면 catch 블럭을 무시하고 전체 try-catch 문을 빠져나가서 다음 코드를 계속해서 수행한다.
throw로 고의로 예외를 발생시킬 수 있다.
Exception은 모든 예외들의 최고 조상이며, 모든 종류의 예외를 처리할 때는 Exception을 선언해 편하게 처리할 수 있다.
Exception e = new Exception("고의로발생");
throw e;
메서드에 예외를 선언해 try-catch 대신 예외를 처리하는 방법이 있다.
public class Main {
public static void main(String[] args) throws Exception {
}
}
위처럼 main메서드에 예외를 선언할 수 있다.
이 때 키워드는 throws다 헷갈리지 말자.
throws에 예외를 명시함으로써 자신을 호출한 메서드에게 예외를 전달해 예외처리를 맡긴다.
즉, throws를 선언한다고 해서 예외가 처리되는 게 아니고 다른 메서드들에게 예외 처리를 부탁하는 것으로 이해하자.
finally 블럭을 사용해 예외의 발생여부에 상관없이 실행될 코드를 작성할 수 있다.
try {
} catch (Exception e) {
} finally {
// 예외 발생여부에 상관없이 수행할 문장 작성
}
위와 같은 형식으로 작성된다.
반응형
'Programming Language > Java' 카테고리의 다른 글
[Java] 쓰레드 (Thread) 1 (0) | 2021.11.08 |
---|---|
[Java] 래퍼 클래스 (Wrapper) (0) | 2021.10.29 |
[Java] 객체지향 요약 (0) | 2021.10.29 |
[Java] 스트림 (Stream) (0) | 2021.10.25 |
[Java] 람다식 (Lambda expression) (0) | 2021.10.25 |
댓글
이 글 공유하기
다른 글
-
[Java] 쓰레드 (Thread) 1
[Java] 쓰레드 (Thread) 1
2021.11.08 -
[Java] 래퍼 클래스 (Wrapper)
[Java] 래퍼 클래스 (Wrapper)
2021.10.29 -
[Java] 객체지향 요약
[Java] 객체지향 요약
2021.10.29 -
[Java] 스트림 (Stream)
[Java] 스트림 (Stream)
2021.10.25