我们正在尝试实现某种国际象棋游戏,并定义了一个带有构造函数的抽象类 Piece:
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,但不必每次需要创建新的棋子时都要尝试/捕获?
@throws EmptyStringException if {@code name} is empty
。 - pickypg