[Java] Checked Exception, Unchecked Exception

2023. 9. 4. 12:44Java

Checked Exception은 Exception을 상속 받으면 되고 무조건 예외처리를 해줘야 컴파일 에러가 발생하지 않는다

public class BizException extends Exception{
    public BizException(String msg) {
        super(msg);
    }

    public BizException(Exception exception) {
        super(exception);
    }
}
public class BizExam {
    public static void main(String[] args) {
        BizService b1 = new BizService();
        b1.bizMethod(4);
    }
}
/Users/leedongho/Downloads/java-practice/src/BizExam.java:4:21
java: unreported exception BizException; must be caught or declared to be thrown

 

Unchecked Exception은 RuntimeException을 상속 받으면 되고 예외처리를 해주지 않아도 컴파일 에러가 발생하지는 않지만 런타임 중에 에러가 발생한다.

public class BizException extends RuntimeException{
    public BizException(String msg) {
        super(msg);
    }

    public BizException(Exception exception) {
        super(exception);
    }
}
public class BizExam {
    public static void main(String[] args) {
        BizService b1 = new BizService();
        b1.bizMethod(-4);
    }
}
/Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=54402:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /Users/leedongho/Downloads/java-practice/out/production/javaPractice BizExam
business
Exception in thread "main" BizException: djfidfjidfj
	at BizService.bizMethod(BizService.java:5)
	at BizExam.main(BizExam.java:4)

Process finished with exit code 1

'Java' 카테고리의 다른 글

[Java] method chaining  (0) 2023.09.06
[Java] 오토 박싱과 오토 언박싱  (0) 2023.09.05
[Java] 변수의 타입이란  (0) 2023.09.03
[Java] 익명 클래스를 사용하는 이유  (0) 2023.09.03
[Java] interface를 사용하는 이유  (0) 2023.09.03