나는 같은 그들은 일반적으로 예외를 선호하는 몇 친구들과 나 사이의 논쟁으로 실행했습니다 ClientErrorException
와 ServerErrorException
내가 일을 더 구체적인을 선호하는 반면, 예외의 필드와 세부 사항. 예를 들어 다음과 같은 몇 가지 예외가있을 수 있습니다.
BadRequestException
AuthenticationFailureException
ProductNotFoundException
이들 각각은 API에서 반환 된 오류 코드를 기반으로 작성되었습니다.
예외의 장점에 따라 이것은 Java에 관용적 인 것처럼 보입니다. 그러나 내 친구의 의견은 드문 일이 아닙니다.
코드 가독성 및 API 유용성 측면에서 선호되는 방법이 있습니까?
abstract
getter 메소드를 사용하여 예외 클래스를 정의 하고 일반화 한 다음 세분화 된 클래스를 일반 클래스로 확장 할 수 있습니다. 예 AuthenticationFaliureException extends ClientErrorException
. 이런 식으로 모든 사용자는 예외 처리 방법을 선택할 수 있습니다. 그래도 더 효과가 있습니다. 그러나 (라이브러리 대신) 응용 프로그램을 작성할 때 다른 상황 IMHO입니다. 이 경우 단순화를 위해 예외를 필요한 것보다 더 세분화하지는 않습니다.