Java.lang.Thread.setDefault UncaughtExceptionHandler() Method Example



Description

The java.lang.Thread.setDefaultUncaughtExceptionHandler() method set the default handler invoked when a thread abruptly terminates due to an uncaught exception, and no other handler has been defined for that thread.

Declaration

Following is the declaration for java.lang.Thread.setDefaultUncaughtExceptionHandler() method

public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)

Parameters

eh − This is the object to use as the default uncaught exception handler. If null then there is no default handler.

Return Value

This method does not return any value.

Exception

SecurityException − if a security manager is present and it denies RuntimePermission

Example

The following example shows the usage of java.lang.Thread.setDefaultUncaughtExceptionHandler() method.

Live Demo
package com.tutorialspoint;

import java.lang.*;

public class ThreadDemo {

   public static void main(String[] args) {
  
      Thread t = new Thread(new adminThread());
 
      t.setDefaultUncaughtExceptionHandler(new Thread.
      UncaughtExceptionHandler() {
         public void uncaughtException(Thread t, Throwable e) {
            System.out.println(t + " throws exception: " + e);
         }
      });
      // this will call run() function
      t.start();
   }
}

class adminThread implements Runnable {

   public void run() {
      throw new RuntimeException();
   }
} 

Let us compile and run the above program, this will produce the following result −

Thread[Thread-0,5,main] throws exception: java.lang.RuntimeException
java_lang_thread.htm
Advertisements