簡體   English   中英

Java處理程序對象如何捕獲所有捕獲和未捕獲的異常?

[英]How can a Java handler object catch all caught and uncaught exceptions?

我想創建一個中央Exception處理程序,該處理程序將處理整個應用程序引發的所有異常。 未捕獲的異常可以通過以下方式處理:

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler());

但是,如果條件是這樣的,它將不會被處理:

try
{    
    int i = 10/0 ;  
}
catch (Exception e)
{
    // 
}

當在我的任何類中引發任何異常時,我的中央異常處理程序都應該了解它。

在您的catch塊中:

try
{    
    int i = 10/0 ;  
}
catch (Exception e)
{
    throw new RuntimeException(e);
}

編輯:

如果不想崩潰應用程序,則可以添加帶有用於記錄異常的靜態方法的類。

public class Logger {
    public static void onException(Exception e) {
        //Do whatever logging you want to do here.
    }
}

然后,只需在任何catch塊中調用onException方法即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM