2012-11-06 3 views
2

내가 알기로는 응용 프로그램을 복구 할 수있는 오류가있을 때 검사 된 예외를 사용합니다. 그러나 내 응용 프로그램에서 발생하는 일부 오류는 Sun에서 이미 수행 한 예외 사항과 맞지 않습니다. 도메인 별 검사 예외 (악성 사례?)를 만드는 것이 좋습니까? 예를 들면 다음과 같습니다. DuplicateQuestionException - 응용 프로그램이 두 개의 동일한 질문을 받으면 throw됩니다. 내 응용 프로그램을 복구 할 수있는 경우입니다.자신 만의 확인 된 예외 만들기

+6

예. 그것은 완벽하게 괜찮습니다. 사용자 정의 예외를 어떻게 작성했는지 보려면 무엇이 좋을까요? –

+0

응용 프로그램 코드를 복구하고 계속할 수있는 사용자 정의 검사 예외를 만드는 것이 좋습니다. – clinton

+0

대신에 질문을 추가해도 괜찮은지 확인하는 방법을 제공 할 수 있습니다. if (! Questions.isDuplicate (newQuestion)) {Questions.add (newQuestion); }'와 중복되지 않은 예외를 throw합니다. 중복 질문이 생성되면'IllegalArgumentException'을 말합니다. 이것은 유스 케이스에는 적용되지 않을 수도 있습니다. – assylias

답변

2

예 좋습니다. 도메인에서 의미가 없으면 기존 예외를 사용하도록 강요하지 마십시오.

1

예, 원시 예외를 사용하는 대신 자신의 예외를 만드는 것이 좋습니다. 자신 만의 예외를 만들 때 예외 계층을 잊지 마십시오.

1

예, 응용 프로그램이 합리적으로 복구 할 수있을 때 검사 된 예외를 사용하는 것이 좋으며 Java가 적합하지 않은 경우 사용자 정의 된 검사 예외를 사용하는 것이 매우 합리적입니다.

해협 조쉬 블로흐 효과적인 자바 두 번째 버전에서 :

가 던지는 확인 된 예외에 대한 항목 58

: 사용 :

"는 체크 사용 또는 여부를 결정하는 추기경 규칙이 체크되지 않은 예외가 이것이다 호출자 의 복구가 예상되는 조건에 대한 예외 검사. " 기존의 예외 확장에 대한 항목 60에서

". 당신이 좀 더 실패 캡처 정보를 추가 할 경우에도 기존의 예외를 서브 클래 싱 주시기 바랍니다"

관련 문제