2011-11-18 6 views
0

나는 Exception을 확장하는 하나의 사용자 정의 클래스 (예 : ClassA)와 RuntimeException을 확장하는 다른 클래스 (ClassB)를 생성했습니다. 제 신청서에 어디에 사용해야하는지 제안 해주십시오.RuntimeException을 확장하는 사용자 정의 클래스를 사용하는 경우?

계좌 잔고가 부족한 경우와 같이 if 문에 ClassB (RuntimeException을 확장해야 함)을 사용해야합니까?

+1

질문 http://stackoverflow.com/questions/7962310/user-defined-exceptions-when-do-we-use-에 대답 할 수 이러한 질문을 통과를 기대하지 않는 경우 그게 뭐야? eptional-situation http://stackoverflow.com/questions/2612073/how-can-i-handle-user-defined-exceptions-and-after-handling-them-resume-the-flow – Zohaib

+0

중복 질문 – Kowser

답변

1

런타임 예외의 예로는 산술 또는 범위를 벗어난 인덱스 (가장 일반적인 것)와 같이 런타임 환경에서 발생하는 예외가 있습니다. 대부분이 특성상 기술적입니다.

비즈니스 로직은 Exception 클래스를 확장하여 처리 할 수 ​​있습니다.

+0

별도의 클래스 (프로젝트에서 RuntimeException을 확장하는 ClassB를 작성하고 if (value == null) {throw new ClassB (값을 Null 할 수 없음)}을 작성하는 것이 좋습니다. – Wahid

+0

내 생각에는이 속성을 사용하여 캐치해야합니다. 귀하의 개발 및 단언에 대한 확인 및 프로덕션 환경에서 그들을 해제, 특히 방법 인수에 null 값. 당신은 또한 당신이 제안한 것과 같은 것을 할 수 있습니다. 그러나 발전 중에 이것을 잡는 것은 좋은 습관입니다. 그러므로 주장에 대한 나의 추천. – r0ast3d

0

표준 예외는 예외 검사입니다. 따라서 try/catch 블록이 필요합니다. 런타임 예외는 try/catch 블록이 필요하지 않은 검사되지 않은 예외입니다. 그들은 일어나서는 안됩니다.

낮은 계정 잔액과 같은 비즈니스 로직의 경우 처리 된 예외가 있으므로 처리해야합니다.

1

여호수아 블로흐이 시사하는 엄지 손가락의 규칙은 다음과 같습니다

  • 사용하면 응용 프로그램이
  • 사용 체크되지 않는 예외에 와서 뛰어난 상태에서 복구 할 수 있습니다 기대 예외가 (예외 연장) (RuntimeException을 확장) 확인 시나리오는 가능한 복구
+0

실시간 예제를 제안하십시오. – Wahid

+1

이 테마는 고갈되었습니다. javadoc에서 RuntimeException의 직접적인 서브 클래스를보고 좋은 친구 google을 사용하는 것이 좋습니다. 나는 심지어 당신을 위해 하나의 좋은 googled : http://www.ibm.com/developerworks/java/library/j-jtp05254/index.html 건배 –

관련 문제