![java package tutorial](/java/lang/images/java.jpg)
- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java Thread setDefaultUncaughtExceptionHandler() Method
Description
The Java 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: Setting Default UncaughtExceptionHandler for a Thread
The following example shows the usage of Java Thread setDefaultUncaughtExceptionHandler() method. In this program, we've created a thread class AdminThread by implementing Runnable interface. In run method, we're throwing a RuntimeException. In main method, we've created a new thread of AdminThread class and using setDefaultUncaughtExceptionHandler() method, we've set a default uncaught exception handler which prints the exception raised.
Using start() method, we've started the thread and result is printed on the console.
package com.tutorialspoint; 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(); } }
Output
Let us compile and run the above program, this will produce the following result −
Thread[#21,Thread-0,5,main] throws exception: java.lang.RuntimeException