시나리오 :모두 RuntimeException/Uncheck 예외 옹호,이 시나리오를 어떻게 처리하겠습니까?
사용자 ID를 기반으로 등록해야하는 웹 사이트의 경우 사용자 ID가 고유해야합니다. 사용자가 이미 존재하는 'foo'사용자 ID로 등록하려고했습니다 (다른 필수 필드와 함께). 이제 체크 예외를 사용하지 않고 (데이터베이스 API는 중복 삽입을 위해 SQLException
을 던집니다), 체크되지 않은 예외를 어떻게 대처하여이 상황을 처리하고 사용자가 친숙한 ID를 이미 선택했는지 궁금합니다.
이 웹 사이트가 Struts에 있다고 가정 해 봅시다 (아니요, 프로젝트에서 일하지 않고 있으며, 더 잘 이해하고 있습니다). 사용자는 Struts 액션에 채워진 정보를 제출하여 DAO를 호출하여 새 레코드를 삽입합니다. 그래서 궁극적으로, DAO는 실패 할 INSERT 문을 발행 할 것이다. 따라서 Action (DAO 호출)이 명시 적으로이 상황을 처리하지 않으면 (DAO 메서드는 SQLException
을 throw한다고 선언하거나 메서드가 SQLException
을 catch하고 Exception을 확장하는 DuplicateUserIDExceptoion과 같은 비즈니스 검사 예외를 throw 할 수 있습니다. 확인되지 않은 예외?
결론 - 자바가 체크 예외를 필요로하지 않는다는 많은 기사를 읽었으므로,이 시나리오는 더 잘 이해할 수 있도록 도와 줄 것입니다. 제가 많은 책을 읽었을 때 기사를 가리 키지 마십시오. 정말 혼란 스럽습니다. 당신이 나를 도울 수있는 가장 좋은 방법은 위의 시나리오에 대한 답을 제공하는 것입니다.
참고 : 복구 가능한 예외 시나리오는 체크 된 예외 (프로젝트에서 구현하고있는 예외)로 처리해야한다는 것을 이해합니다. 그러나 확인되지 않은 예외만으로는 정말 혼란 스럽습니다. 위의 시나리오를 어떻게 처리합니까? 사전에
감사합니다.
JB Nizet이 대답하는 내 의견을 참조하십시오 ... – user1418717