2016-08-09 3 views
-2

체크되지 않은 예외는 내가 읽은 곳이면 어디든지 붙잡혀 야한다고 명시되어 있습니다. 그러나 입력이 필요하면 모든 사람이 항상 내가 본 모든 코드에서 그것을 잡았습니다.InputMismatchException을 잡을 수 없습니까?

확인되지 않은 예외로 간주하면 어떻게 처리할까요? 처음에 그것을 막을 수 있습니까? 아무도 연습을 따르지 않는 이유는 무엇입니까?

+1

무엇이 당신의 질문입니까? 그것은 무엇입니까? * 당신이 읽지 않을 때 사람들이 체크되지 않은 예외를 잡는 이유는 무엇입니까? * (또한 읽은 곳으로 연결하십시오. http://stackoverflow.com/a/13251421/1743880을 참조하십시오) , 또는 무엇입니까? * 잘못된 입력을 어떻게 처리합니까? (그 경우 http://stackoverflow.com/questions/3059333/validating-input-using-java-util-scanner를 참조하십시오)? 그것들은 2 가지 다른 질문입니다. (그리고 두 질문 모두 전에 질문을 받았습니다) – Tunaki

+0

어디서 읽었습니까? 검사되지 않은 예외가 항상 프로그래머 오류의 결과는 아닙니다. 그것은 더 미묘하고 예외에 달려있다. http://stackoverflow.com/questions/13251368/should-unchecked-exceptions-be-caught-and-dealt-with – Tunaki

답변

1

이 명확하게되지 않은 예외가

그것은 사실이 아니다 당신이 체크되지 않은 예외를 잡지 못할 것을

을 잡힐 안되는 것을 주장한다.

예외를 합리적으로 처리 할 수 ​​있으면 잡아야합니다. 예를 들어 NumberFormatException (확인되지 ​​않은 예외 임)을 잡고 사용자가 입력이 잘못되었음을 알리는 메시지 상자를 표시 할 수 있습니다.

반면에 복구가 어렵거나 불가능한 예외를 잡아서는 안됩니다. 이 경우 최상의 전략은 응용 프로그램을 종료하는 것입니다.

드물기 만 한 cases을 제외하고는 오류 (예 : OutOfMemoryError)를 잡지 말아야합니다.

+0

참고 : – Enzokie

+1

'OutOfMemoryError'는 '예외'가 아니며, '오류'. 둘 다 공통의 수퍼 클래스 인 Throwable을 가지고있다. 'Throwable' 또는'Error' (또는 그 하위 클래스)를 잡아서는 안됩니다. –

관련 문제