Java主線程可以通過(guò)以下幾種方式捕獲子線程的異常:
Thread thread = new Thread(() -> {
try {
// 子線程的邏輯代碼
} catch (Exception e) {
// 異常處理代碼
}
});
thread.start();
Thread thread = new Thread(() -> {
// 子線程的邏輯代碼
});
thread.setUncaughtExceptionHandler((t, e) -> {
// 異常處理代碼
});
thread.start();
Thread.setDefaultUncaughtExceptionHandler((t, e) -> {
// 異常處理代碼
});
無(wú)論采用哪種方式,主線程都可以在異常處理代碼中獲取到子線程拋出的異常,并進(jìn)行相應(yīng)的處理。