[Way to PM] 백엔드(자바) - 사용자 정의 예외 처리_디폴트 생성자, this 키워드 활용
2024. 2. 7. 13:14ㆍ[Way to PM] 백 엔드
1. Why - 사용자 정의 예외 처리에서 디폴트 생성자, this 키워드 활용에 대한 이해도를 높임
2. How - 코드 분석
public class NotExistsIdException extends Exception {
NotExistsIdException() {
this("NotExistsIdException")
}
NotExistsIdException(String message) {
super(message);
}
매개변수를 String으로 선언한 생성자가 있는 경우 기본적으로 생성되는 디폴트 생성자는 매개변수가 있는 생성자로 대체된다. 따라서 아무 매개변수가 없는 기본 생성자를 생성해주는데 그 이유는
- 유연성 제공: 사용자 정의 예외 클래스를 사용하는 개발자가 예외 메시지 없이 예외를 생성할 수 있는 옵션을 제공하려면, 매개변수가 없는 생성자가 필요합니다. 이렇게 하면 예외의 사용 사례를 더 유연하게 만들 수 있습니다.
- 호환성 유지: 기존 코드나 라이브러리가 매개변수 없이 예외를 생성하는 경우가 있을 수 있습니다. 사용자 정의 예외 클래스가 기본 생성자를 제공함으로써, 이러한 코드와의 호환성을 유지할 수 있습니다.
- 명시적인 의도 표현: 클래스 설계자가 기본 생성자를 명시적으로 제공함으로써, 이 클래스가 매개변수 없이 인스턴스화될 수 있음을 분명히 표현합니다. 이는 클래스의 사용 방법에 대한 의도를 명확하게 전달하는 역할을 합니다.
다음과 같다.
또한 기본 생성자 안에 this 키워드로 매개변수를 String message로 갖는 생성자를 포함하게함으로써 기본 생성자에 대해서도 명확한 정보를 제공하고 해당 메시지를 사용하여 로그를 남겨 사용자에게 오류의 원인을 알릴 수 있다.
즉, 아무 내용없는 기본 생성자에 예외 발생에 대한 추가적인 정보가 없을 때 디버깅이나 오류 분석에 대한 정보를 제공할 수 있으며, 기본 메시지를 설정할 때는 예외의 원인이나 맥락을 충분히 반영할 수 있도록 신중하게 메시지를 선택해야 한다.
'[Way to PM] 백 엔드' 카테고리의 다른 글
[Way to PM] 백엔드(자바) - 람다식 dailyQuiz (0) | 2024.02.19 |
---|---|
[Way to PM] 백엔드(자바) - 다형성과 생성자 함수 (0) | 2024.02.13 |
[Way to PM] 백엔드(자바) - 컬렉션, 문자열, 배열의 길이(크기) 구하기 및 컬렉션, 배열에서 특정 객체(요소) 가져오기 (0) | 2024.02.13 |
[Way to PM] 백엔드(자바) - 오버라이딩과 다형성 (1) | 2024.02.12 |
[Way to PM] 백엔드(자바) - 예외처리 dailyQuiz (0) | 2024.02.06 |