我們正在努力實現某種形式的國際象棋遊戲中,我們定義了一個抽象類件與構造:的try-catch問題繼承(JAVA)
public Piece(String name) throws EmptyStringException{
if(name.length()<=0)
throw new EmptyStringException();
pieceName = name;
}
和延伸類看起來是這樣的:
public King(boolean white) throws EmptyStringException{
super("King", white);
}
「問題」在這裏,如果我想創建一個新的國王一塊,我必須寫:
try {
Piece king = new King(true);
} catch(EmptyStringException e){
e.printStackTrace();
}
,而不是簡單得多:
Piece king = new King(true);
所以,即使我根本不能創建EmptyStringException,我還是要嘗試/捕獲異常。
我該如何解決這個問題,所以我仍然可以在Piece中拋出EmptyStringException,但是不必每次都嘗試/抓住我需要創建一個新的棋子?
可以並且應該記錄。 '如果JavaDoc中的{@code name}爲空,則@throws EmptyStringException。 – pickypg 2011-04-26 19:38:58