所以我只是在Java中學習異常,我正在看一個例子,但它可能是錯誤的,或者我仍然不理解它。這個例外的例子不對嗎?
下面的代碼:
command1;
try {
command2;
command3;
try {
command4;
command5;
} catch (MyException e) { command6; }
command7;
} catch (IOException e) {
command8;
} catch (OwnException e) {
command9;
} finally {
command10;
}
command11;
然後它寫下來哪些命令將在不同情況下運行,但command7幾乎從未運行,只在一個場景中,如果command4期間發生MyException。
這沒錯?我只是在學習,所以我有可能在這裏錯了,但老師的筆記也有可能是錯誤的,如果command6之後的command7在command7之後,這不是唯一的嗎?因此,command6和command7應該在一個catch塊中解釋爲什麼command7永遠不會執行,只有在這種情況下(我猜如果在command5期間發生MyException但它不會執行每個場景都會在註釋中執行) 。
您是對的,而且您的老師錯了。但解決這個問題的最好方法是自己運行它。它會比寫一個SO問題更快:) – sstan
as @sstan said,use ide(or ideone.com)and play with the thing,you can then see it it with your own eyes;) – 2016-06-08 16:52:32
「但command7是幾乎從不運行,只有在一種情況下,如果在command4期間出現MyException「。這並非完全正確。如果在command4和command5期間沒有遇到異常,命令7也會運行。在command6之後的catch塊內不是command7有目的。 – Jimmy