2015-09-07 4 views

ответ

3

Вы можете проверить How uncaught exceptions are handled:

Java фактически обрабатывает пойманные исключения в соответствии с нитью в которой они происходят. Когда нечеткое исключение возникает в конкретном потоке , Java ищет то, что называется обработчиком непрозрачных исключений, фактически является реализацией интерфейса UncaughtExceptionHandler. Последний интерфейс имеет метод handleException(), который реализует исполнитель , чтобы предпринять соответствующие действия, такие как печать трассировки стека на консоль. Как мы сейчас увидим, мы можем на самом деле установить наш собственный экземпляр UncaughtExceptionHandler для обработки неперехваченных исключений определенного потока или даже для всей системы .

Конкретная процедура заключается в следующем. Когда перехватывается исключение происходит, JVM выполняет следующие действия:

  • это вызывает особый частный метод, dispatchUncaughtException(), на класс Thread, в котором происходит исключение;
  • затем завершает поток, в котором произошло исключение1.

enter image description here

0

Если объект Exception существует и брошено, то Рахул уже хорошо ответил.

Интересно, что делать с новым объектом Exception, а не сбрасывать. Это технология программирования, позволяющая получить некоторую информацию о времени выполнения, например стек, место вызова конструктора исключений и т. Д.

  e= new Exception(); 
      StackTraceElement[] st = e.getStackTrace(); 
      for(StackTraceElement s:st) 
      { 
       s.getLineNumber() 
      } 
// NO throw 
Смежные вопросы