0
我有這樣的代碼如下:爪哇 - 無限循環中是不可能的方式終止
@Override
protected Void doInBackground() throws Exception {
try {
while(true) cpu.step();
} catch(Throwable t) {
throw new RuntimeException(t);
} finally {
System.out.println("EmulationWorked task completed");
}
}
這個循環應該總是通過拋出一個異常退出,但對我來說我看到控制到達println
聲明不這樣做。
我的Java/JVM版本如下:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
這個問題是關係到我所看到的是另一個問題,我以前發佈的一部分的問題:Gameboy emulation - SwingWorker stuck at Unsafe.park
這是一個已知的JVM的bug某種?
請閱讀'finally'的功能。 –
該方法應該總是拋出異常,這在我的特殊情況下不會發生。我知道finally塊將始終執行。 – rationalrevolt
你怎麼知道這不是在這種特殊情況下發生的? –