Java
Java문법) 예외처리 -4 (throw와 throws)
sejin2
2023. 11. 1. 16:28
1. throw
- 예외가 발생하지 않았음에도 예외를 명시적으로 발생 시킴 ( 강제로 예외 발생시킴 )
- 예외가 발생되었을 때 제대로 처리되는지 확인하기 위해 사용
public static void main(String[] args) throws Exception {
try {
Exception e = new Exception("고의로 발생시킴");
throw e;
}catch ( Exception e ) {
System.out.println(e);
}
}
출력결과 )
[출력방법]
(1) printStackTrace ( ) : 예외 발생 시 호출 스택 ( call stack ) 에 있었던 메서드의 정보와 예외 메세지를 화면에 출력
(2) getMessage ( ) : 발생한 예외클래스의 인스턴스에 저장된 메시지를 얻어옴
(3) println ( )
public static void main(String[] args) throws Exception {
try {
int num = 3/0;
}catch ( Exception e ) {
e.printStackTrace();
e.getMessage();
System.out.println("예외발생");
}
}
}
출력결과 )
2. throws
- 메서드 선언부 끝에 작성되어 메서드에서 처리하지 않은 예외를 호출한 곳으로 넘기는 역할
- throws 키워드 뒤에는 떠넘길 예외 클래스를 쉼표로 구분하여 나열
public class Throws11 {
// throws 는 예외 떠넘기기
public static void main(String[] args) {
try {
change( );
} catch (ClassNotFoundException e) {
System.out.println("클래스가 없음");
}
}
public static void change() throws ClassNotFoundException {
Class class01 = Class.forName("java.lang.String1");
}
}
출력결과 )