title: How to check if a Java thread terminated with exception?
body: <p>Given a thread that has finished doing some work (its status is Thread.State.TERMINATED), is there a way to understand if the thread has completed the Thread.run()/Runnable.run() method correctly or has thrown an uncaught throwable ?</p>
  
  <p>Afaik, a thread goes into the TERMINATED state both when exiting normally and when throwing throwables.</p>
  
  <p>Somebody suggested using an UncaughtExceptionHandler. Given that a thread can have only one UncaughtExceptionHandler (other than the default for all threads), and that the thread code can change the provided one, is it a good practice using them ?</p>