1 minute read

예외

java.lang.Exception 클래스

예외 처리를 위해 이 클래스를 불러올 필요는 없다.

java는 기본적으로 java.lang을 불러오기 때문.

모든 예외 상황은 이 Exception 클래스를 상속 받는다.

image-20220712180907645

예외 상황의 이름이 어떤 부분에서 잘못이 있는지 디버깅 과정을 도와준다.

그러면, 이러한 클래스들은 어떤 방식으로 작업을 할 수 있을까?

👉 Exception 클래스를 상속받는 새로운 예외 상황을 만든다.

이로써 코드를 개인화하고,

디버깅을 쉽게 만들어준다.



// Exception 클래스 상속
public class FileFormatException extends Exception{
	public FileFormatException (){
		// super 호출
		super();
	}
	public FileFormatException (String s){
		super(s);
	}
}

// 예외 상황이 발생하면 throw
throw new FileFormatException("Your file is not well formatted")

생성자 2개 만들기

  • FileFormatException의 기본 생성자
public FileFormatException (){
 super();   
}

super() : 만약 어떤 것을 상속 받았을 때, 상속받은 클래스의 생성자를 호출한다는 의미.


  • 문자열을 인자로 받아오는 생성자.
public FileFormatException (String s){
		super(s);
	}

문자열을 다루기 위해서 다시 Exception 클래스에 넘겨줌.


// 예외 상황이 발생하면 throw
throw new FileFormatException("Your file is not well formatted")

위 코드는 예외 상황이 발생했을 때 () 안의 String을 super(s)를 통해 super에 전달.

그 예외상황의 이름으로 에러가 발생한다.



<(Eclipse) 어떤 클래스에서 Exception 상속 코드 단축키>

image-20220712181735556

Alt + shift + s

👉 Generate Constructors from Superclass…




생각해보기

\1) 예외 상황의 이름을 적절하게 설정하는 게 프로그래밍하는 데에 어떤 도움이 될까요?

코드에서 오류가 나서 디버깅을 할때 예외상황의 이름이 적절하지 않으면 트러블 슈팅시 많은 어려움이 생긴다.




References

자바로 구현하고 배우는 자료구조 -Rob Edwards (boostcourse)

Updated:

Leave a comment