또한 기본 처리기가 우리가 던진 예외를 catch합니까? 그렇다면 예외가 검사되는지 여부에 따라 다릅니다.시스템에 의해 throw 된 예외가 기본 처리기에 의해 catch되는지 확인할 수 있습니까?
답변
임의의 Throwable
이 잡힐 수 있습니다. 그러나 Error
의 하위 클래스는 사용자 응용 프로그램 코드에 의해 포착되지 않습니다. 그들은 여전히 잡힐 수 있지만, 일부 오류는 심지어 나쁜 상태로 응용 프로그램을 떠날 수도 있습니다 (예를 들어 OutOfMemoryError
).
catch 블록은 선언 된 Throwable 형식의 하위 형식을 catch합니다. 예를 들어 catch (Exception ex) {}
은 RuntimeException (un-checked)이 자식이기 때문에 try 블록에 던져지는 모든 Exception을 처리합니다.
예외의 하위 클래스가 아니므로 오류 인스턴스를 catch하지 않습니다. 정말로 catch를 모두 원한다면 catch (Throwable th)
과 같은 것을 사용할 수 있습니다. 이것은 오류가 발생하기 때문에 일반적으로 응용 프로그램이 쉽게 복구 할 수없는 문제를 나타냅니다.
체크/체크되지 않은 예외에 대해서는 잘 알려진 사실이 있습니다. 은 컴파일시에만입니다.
추한 트릭으로 throw 된 것으로 선언되지 않은 곳에 체크 예외를 던지면 체크되지 않은 예외처럼 처리됩니다 (즉, 많은 예외가 발생합니다). 가장 가까운 일치하는 catch 블록에 도달하는 데 필요한만큼 스택 프레임). 그리고 네, 그런 트릭이 존재합니다.
그리고 기본적으로 평균을 Thread default uncaught exception handler (또는 per-thread uncaught exception handler)으로 처리하면 예 : "정상적으로"잡아서 처리하지 않는 체크 된 예외와 확인되지 않은 예외를 모두 처리합니다.
- 1. catch 블록에서 throw 된 예외가 나중에 catch 블록에 의해 catch됩니까?
- 2. 리스너에 의해 throw 된 Java 예외 처리
- 3. Hadoop 파이프 프로그램에 의해 throw 된 EOFException
- 4. ObjectDisposedException 폼에 의해 throw 됨
- 5. Castle Windsor : Resolve()에 의해 throw 된 예외 발생을 방지합니다.
- 6. 스레드 발생 이벤트가 처리기에 의해 차단됩니까?
- 7. .NET의 MVC에서 필터에 의해 throw 된 예외를 잡는 방법?
- 8. FaultException <T>() 클라이언트 catch에 의해 서비스에 의해 throw 된 예외가 발생했습니다. (FaultException <T>)
- 9. JSR223에 의해 throw 된 ScriptException에 대한 합리적인 처리 Rhino
- 10. 유휴 상태에서 시스템에 의해 작동이 중지되었습니다.
- 11. JLink 또는 UseFrontEnd에 의해 생성 된 Uncaught Throw
- 12. 정적 부울에 의해 예외가 삼키는 경우를 제어
- 13. XML 파서에 의해 Throw 된 MalformedByteSequenceException 이후에 오류를 찾는 방법
- 14. DB에 의해 생성 된 기본 키가없는 Hibernate?
- 15. 프로토콜 예외가 사용자에 의해 처리되지 않았습니다.
- 16. 오류 : "호출 대상에 의해 예외가 발생했습니다."
- 17. 구성 오류 - 호출 대상에 의해 예외가 throw되었습니다.
- 18. .NET 기능에 의해 어떤 예외가 발생할 수 있는지 어떻게 알 수 있습니까?
- 19. Tiles에 의해 정의 된 Tiles ViewPreparer가 Tiles에 의해 발견되지 않음
- 20. 예외가 WPF Dispatcher.Invoke에 의해 전파되지 않는 이유는 무엇입니까?
- 21. 예외가 throw 된 경우에도 HttpContext.Current가 삭제 되었습니까?
- 22. GetDllDirectory에 의해 생성 된 애매한 값에 어떻게 대처할 수 있습니까?
- 23. Python에서 doctest로 예외가 발생했는지 확인할 수 있습니까?
- 24. ContextLoaderListener에 의해 생성 된 스프링 컨텍스트의 수
- 25. 아약스에 의해 호출 된 양식
- 26. MongoDB에 의해 변환 된 쿼리는
- 27. 예외가 throw 된 system.exception에서 파생되었지만 catch되지 않았습니다.
- 28. 프로세스에 의해 수정 된 파일 확인
- 29. 클래스 및 메서드에 의해 throw 된 예외에 대한 정보를 찾을 수있는 위치는 어디입니까?
- 30. css가 document.write에 의해 추가 된 요소에 영향을 줄 수 있습니까?
흠 - 확실하지 않습니다. "사용자 응용 프로그램 코드"에 따라 다릅니다. 원격 로그 작성기 서비스이고 디스크가 부족하면 오래된 로그 파일을 지우고 다시 시도하여 공간을 비울 수 있습니다. – Bohemian
@Bohemian : 거의 확실하게 IOException이 될 수 있습니다 ... –
@ 보헤미안 Java 언어 사양 http://java.sun.com/docs/books/jls/second_edition/html/exceptions.doc.html'Error 클래스와 그 서브 클래스는 평범한 프로그램이 보통 복구 할 것으로 예상되지 않는 예외입니다. 그 (것)들을 붙잡고 싶을 아무 케이스도 없다. 귀하의 특정 예제에서 어떤 오류를 언급합니까? –