컴공생의 다이어리
[자바, Java] 예외(Exception) 발생 시키기 - throw, throws 본문
Java 예외(Exception) 발생 시키기 - throw, throws
자바에서 강제로 예외를 발생시키기 위해서는 throw를 사용하면 된다. 아래 예시에서는 강제로 Exception을 발생시키면 catch문에서 예외를 잡고 Exception에 대한 메시지를 출력한다.
try {
// throw로 강제 예외 발생
throw new Exception("강제 예외 발생!!!");
} catch (Exception e) {
System.out.println("err_msg : " + e.getMessage());
e.printStackTrace();
}
이번에는 throw와 throws의 차이와 그 예에 대해 정리하고자 한다. throw와 throws는 둘 다 Exception을 발생시킨다는 공통점은 가지고 있지만 아래와 같은 차이점을 가지고 있다.
- throw : 억지로 에러를 발생시키고자 할 때 사용되거나 현재 메소드의 에러를 처리한 후에 상위 메소드에 에러 정보를 줌으로써 상위 메서드에서도 에러가 발생한 것을 감지
- throws : 현재 메서드에서 자신을 호출한 상위 메서드로 Exception을 발생 → 즉, 예외를 자신이 처리하지 않고, 자신을 호출한 메소드에게 책임 전가
아래 예시 코드를 보면 main 함수의 try-catch 문에서 func1()을 실행시킨다. 이때, func1에서 Exception을 발생시키고 이에 대한 예외를 func1() 함수를 호출한 main에 떠넘긴다. 그리고 main 함수의 catch문에서 Exception에 대한 예외처리를 출력한다.
public class ExceptionExample {
public static void main(String[] args) {
try {
func1();
} catch (Exception e) {
// e.printStackTrace();
System.out.println(e.getMessage());
}
}
public static void func1() throws Exception {
throw new Exception("예외 발생");
}
}
https://khs0806.tistory.com/18
https://programmers.co.kr/learn/courses/5/lessons/315
https://devlog-wjdrbs96.tistory.com/141
https://wonyong-jang.github.io/java/2020/07/27/Java-throws-throw.html
728x90
'Development > Java' 카테고리의 다른 글
[자바, Java] 배열 일괄 초기화 - Arrays.fill() (0) | 2023.02.25 |
---|---|
[자바, Java] Apache Commons Lang을 사용해 랜덤 문자열 생성 (0) | 2022.03.03 |
[자바, Java] 설치한 여러 JDK 간편하게 전환 (4) | 2022.01.06 |
[자바, Java] OpenJDK 1.8 설치 (0) | 2022.01.05 |
[자바, Java] 스터디 사이트 추천 (0) | 2021.12.22 |
Comments