프로그래밍/JAVA

[JAVA] 사용자정의 예외 만들기

리신 2022. 11. 22. 21:27
반응형

말 그대로 예외는 프로그래머가 기존의 정의된 예외 클래스 외에 

필요에 따라 새로운 예외 클래스를 정의하여 사용할 수 있다.

 

🙄어떻게 내 마음대로 예외를 만들 수 있는 걸까?

→ 우리가 이때까지 배운 상속을 통해서 사용자 정의를 만들 수 있다.

Exception클래스 또는 RuntimeException클래스로부터 상속받아 클래스를 만들기도 하고,

필요에 따라 알맞은 예외 클래스를 선택하여 상속받아 만들 수 있다.

 

말로만 보면 알지 못하니 예를 들어보면!

 

class MyException extends Exception {
	MyException(String msg) { // 문자열을 메개변수로 받는 생성자
    	super(msg); // 부모인 Exception 클래스의 생성자를 호출
    }
}

Exception 클래스를 상속받아서 MyException 클래스를 만들었다.

여기서 필요하다면, 멤버 변수나 메서드를 추가할 수 있다.

 

기존의 예외 클래스는 주로 Exception을 상속받아서 'checked예외'로 작성하는 경우가 많았지만

요즘은 예외처리를 선택적으로 할 수 있도록  RuntimeException을 상속받아서 작성하는 쪽으로 바뀌어가고 있다.

 

왜 요즘은 RuntimeException을 상속받아서  unchecked예외가 더 많아지는 걸까?

checked예외는 반드시 예외처리를 해주어야 하기 때문에 불필요한 경우에도 try-catch문을 넣어서 코드가 복잡해지기도 하고,

필수적으로 처리해야만 할 것 같았던 예외들이 선택적으로 처리해도 되는 상황으로 바뀌는 경우가 종종 발생하기 때문에

unchecked예외가 더 환영받고 있다.

 

*참고서적

Java의 정석

 

반응형