2010-08-25 33 views
2
try { 
    this.interrupt(); 
} catch (IllegalThreadStateException e) { 
    e.printStackTrace(); 
} 

我發現通過放置print語句拋出了IllegalThreadStateException,沒有打印堆棧跟蹤。我已經嘗試搜索關於Thread.interrupt()和IllegalThreadStateException的現有線程,但沒有得到太多。如果有幫助,我正在使用CDLC 1.1。非常感謝你!!爲什麼在調用this.interrupt()之後得到IllegalThreadStateException?

回答

1

CLDC 1.1應該支持interrupt(),但CLDC 1.0沒有。也許你的特定實現不想加入這種支持,並通過拋出運行時異常來僞裝。

+0

但我的是CLDC 1.1下是肯定的。那裏沒有錯。 – derrdji 2010-08-26 13:34:34

0

如果未打印任何堆棧跟蹤,則聽起來好像在其他地方發生錯誤(正在處理)。你能通過調試器中的代碼,看看這個中斷是否觸發另一個線程出現問題?它必須在執行interrupt()的過程中發生。

在我們的IDE,我會把一個斷點上線,按F5 步內的方法調用,然後繼續步進,直到我發現這個問題。一路上,如果我得到一個沒有源代碼的地方,我會下載相關的源代碼jar文件並將調試器指向它(這聽起來涉及但只需要大約2分鐘)。

希望幫助在某種程度上,

-gMale

相關問題