Java線程池中的異常消失

使用ExecutorService.submit()提交的任務會由於線程池自身的保護機制,不會將異常打印到控制檯,所以不會看到,有時程序莫名其妙的結束就是因爲這種情況

可以這樣

Runnable crawlBlog = new Runnable() {
    public void run() {
        try {
            doSomething();
        } catch (Exception e) {
            //打印一下錯誤信息,出現異常可以知道錯誤發生在哪裏
            e.printStackTrace();
        }
    }
}

或者

不使用submit()使用execute()也可以

原理暫時不知道,先放着

發佈了74 篇原創文章 · 獲贊 213 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章