Im'嘗試編寫一個從Exception派生的類BrokenObjectException類。 但在Eclipse中我得到這個錯誤:無法從異常繼承
的序列化類BrokenObjectException沒有聲明型長
public class BrokenObjectException extends Exception
{
BrokenObject(String message)
{
;
}
}
我不明白爲什麼它要求我聲明場的靜態最後的serialVersionUID領域。 不應該只是強制聲明一些方法的接口? 無論如何,我想是因爲我想抓住它娜我如何捕獲所有異常不同的方式來將這個類,從我的例子,我有一個塊:
try
{
if(...)
throw new Exception("wrong");
if(...)
throw new BrokenObjectException("wrong");
}
catch(BrokenObjectException e)
{
// do something (action1)
throw e;
}
catch(Exception e)
{
// so something (action2)
throw e;
}
所以在第一個catch塊我已經寫了「做東西」。 這是因爲根據拋出異常的類型,我想執行不同的操作。 因此,由於BrokenObjectException是從Exception派生的,所以它應該被捕獲兩次。 但是,如果拋出BrokenObjectException,我想要做action1和action2,如果只是一個正常的異常拋出我只想做action2.Is那可能嗎? 以及如何解決我收到的錯誤?