dev_dbdb1114

Java 예외처리 [예외 발생시키기, (un)checked 예외] 본문

프로그래밍/JAVA

Java 예외처리 [예외 발생시키기, (un)checked 예외]

dbdb1114 2022. 5. 24. 14:52

예외 발생시키기 

1. 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든 후 throw를 이용해서 예외를 발생시킨다. 

 

clkass Ex8_6{
	public static void main(String args[]) {
    	try {
        	Exception e = new Exception("고의로 발생시킴"); // 예외 생성
            throw e; //예외 발생
        } catch (Exception e) {
        	System.out.println("에러 메시지 : " + e.getMessege());
            e.printStackTrace();
        }
        System.out.println("프로그램이 정상 종료되었습니다");
    }
}

Exception인스턴스를 생성할 때, 생성자에 String을 넣어주면, 이 String이 Exception인스턴스에 메시지로 저장된다. 이 메시지는 getMessage()를 이용해서 얻을 수 있다. 

 

(un)checked 예외

Exception 예외와 RuntimeException 예외 두 가지로 나누었을 때, Exception 예외를 발생시키면, 컴파일 오류가 발생하고, RuntimeException예외를 발생시키면 컴파일은 되고, 실행시 비정상종료가 된다. 

public static void main (String[] args) {
	throw new Exception(); // 컴파일부터 불가능 
    	throw new RuntimeException(); // 컴파일은 가능. 실행시 비정상적 종료
}

 

이처럼 Exception클래스의 예외는 checked 예외라고 하고, RuntimeException예외는 unchecked예외라고 한다. 

Comments