2014-02-02 7 views
2

Ниже приведен код, который я разработал для потока.Поймать все исключения в потоке

int i; 
    Thread thread = new Thread() 
    { 
     @Override 
     public void run() { 
      try { 
       while(true) { 
        sleep(10000); 
        i++ 
       } 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 

    thread.start(); 

Есть ли какой-либо возможный способ, я могу использовать любой другой улов или исключение, чтобы поймать все возможные раздатки внутри него? Спасибо заранее!

+6

Вы имеете в виду, например, 'catch (Exception e)'? – AntonH

+0

Да, это то, что я имел в виду. – zETO

+0

Ну вот и твой ответ. – AntonH

ответ

2

Просто catch (Exception ex), а также catch (InterruptedException e)

+0

С 2 попытками и ловит? – zETO

+0

Нет, вы можете добавить любое количество уловов в одну попытку. –

+0

Вы имеете в виду 'catch (InterruptedException, Exception e)'? – zETO

2

кажется, что только исключение, что блок может бросить, вы уже обработаны, но и для более безопасной стороны вы можете поймать родительское исключение тоже я, е (Exception е), как показано ниже:

try { 
    //stuff 
} 
catch (InterruptedException e) { 
    e.printStackTrace(); 
} 
catch (Exception e) { 
     e.printStackTrace(); 
} 
+0

Спасибо за ваш ответ, хотя я соглашусь с первым, потому что он сказал это первым. – zETO

+0

@zETO no issue dear.it лучше tht ur pblm был решен – Kick

+0

+1 для вежливых –

Смежные вопросы