1) 예외 발생시키기
- 우리가 예외를 직접 다음과 같이 발생시킬 수도 있습니다.
1. 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든 다음
Exception e = new Exception("고의로 발생시켰음");
2. 키워드 throw를 이용해서 예외를 발생시킨다
throw e;
class Ex8_6{
public static void main(String[] args){
try{
Excepetion e = new Exception("고의로 발생시켰음");
throw e;
}catch(Exception e){
System.out.println("에러 메시지: " + e.getMessage());
e.printStackTrace();
}
System.out.println("프로그램이 정상 종료되었음");
}
}
// 실행 결과
에러 메시지: 고의로 발생시켰음
java.lang.Exception: 고의로 발생시켰음
at EX8_6.main(Ex8-6.java:4)
프로그램이 정상 종료되었음
2) checked 예외, unchecked 예외
- checked예외: 컴파일러가 예외 처리 여부를 체크합니다. (ex) Exception과 그 자손)
예외 처리(try~catch)가 필수입니다.
- unchecked예외: 컴파일러가 예외 처리 여부를 체크 안하는 것입니다. (ex) RuntimeException과 그 자손)
예외 처리가 선택입니다.
class Ex8_7 {
public static void main(String[] args){
try{
throw new Exception();
}catch(Exception e){
}
}
}
class Ex8_7{
public static void main(String[] args){
throw new RuntimeException();
}
}
참고
남궁성 자바의 정석
'Java' 카테고리의 다른 글
Optional (0) | 2022.09.02 |
---|---|
예외 선언(Exception Handling) - 메서드에 예외 선언하기, finally 블럭 (0) | 2022.09.01 |
예외 처리(Exception Handling)(3) - printStackTrace(), 멀티 catch 블럭 (0) | 2022.08.30 |
예외 처리(Exception handling)(2) - 예외 처리하기, try~catch문 흐름 (0) | 2022.08.30 |
예외 처리(Exception Handling)(1) - 프로그램 오류, 예외 클래스의 계층 구조 (0) | 2022.08.29 |