저는 라이브러리를 사용하는 사람들의 디버깅을 향상시키기 위해 예외를 throw하도록 기존 라이브러리를 업데이트했습니다.Java, 클래스 별 예외 vs. 표준 예외
처음에는 각 클래스에 특정한 예외를 정의 할 것이라고 생각했지만 대부분의 예외는 특정 메시지가있는 기존 런타임 예외 (예 : FooNegativeIntArgumentException extends IllegalArgumentException
, FooNullBarException extends NullPointerException
)를 단순히 확장 한 것으로 나타났습니다.
새로운 예외를 정의 할 때와 기존의 예외를 사용할 때의 절충점은 무엇입니까? 컨벤션/모범 사례가 있습니까?
또한 이전 버전과의 호환성이 필요하므로 대부분의 예외는 런타임 예외입니다.
일반적으로 사용자 지정 예외를 사용하지 않는 이유와 실제 유용하게 사용하는 경우에 대한 자세한 정보를 제공해 주신 데 감사드립니다. – Carl