Java Thread setDefaultUncaughtExceptionHandler()方法

2019-10-16 22:24:57

Thread類的setDefaultUncaughtExceptionHandler()方法設定當執行緒由於未捕獲的異常而突然終止時呼叫的預設處理程式,並且沒有為該執行緒定義其他處理程式。

語法

public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)

引數

  • eh:它是用作預設的未捕獲例外處理程式的物件。

返回

  • 此方法不返回任何值。

異常

  • SecurityException:如果存在安全管理器並且它拒絕RuntimePermission,則丟擲此異常。

範例

public class JavaSetDefaultExceptioneExp implements Runnable   
{  
    public void run()   
    {  
      throw new RuntimeException();  
    }  
    public static void main(String[] args)   
    {  
        Thread thread = new Thread(new JavaSetDefaultExceptioneExp());  
        thread.setDefaultUncaughtExceptionHandler(new Thread.  
        UncaughtExceptionHandler()   
        {  
            public void uncaughtException(Thread thread, Throwable e)   
            {  
                System.out.println("Exception caught: " + e);  
            }  
        });  
        // call run() function  
        thread.start();  
   }  
}

執行上面範例程式碼,得到以下結果:

Exception caught: java.lang.RuntimeException