자료구조(java) 2_6. 예외
예외
java.lang.Exception 클래스
예외 처리를 위해 이 클래스를 불러올 필요는 없다.
java는 기본적으로 java.lang을 불러오기 때문.
모든 예외 상황은 이 Exception 클래스를 상속 받는다.
예외 상황의 이름이 어떤 부분에서 잘못이 있는지 디버깅 과정을 도와준다.
그러면, 이러한 클래스들은 어떤 방식으로 작업을 할 수 있을까?
👉 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 상속 코드 단축키>
Alt + shift + s
👉 Generate Constructors from Superclass…
생각해보기
\1) 예외 상황의 이름을 적절하게 설정하는 게 프로그래밍하는 데에 어떤 도움이 될까요?
코드에서 오류가 나서 디버깅을 할때 예외상황의 이름이 적절하지 않으면 트러블 슈팅시 많은 어려움이 생긴다.
References
자바로 구현하고 배우는 자료구조 -Rob Edwards (boostcourse)
Leave a comment