我注意到StringBuilder
间接实现了Appendable
。
Appendable.append(CharSequence)
引发已检查的异常IOException
。那么AbstractStringBuilder.append(CharSequence)
会如何不声明IOException
而摆脱困境?因此,当我附加到IOException
时,又不用担心StringBuilder
怎么办?
这是仅适用于已为Appendable
改装的现有类的奇怪例外吗?还是我忘记了部分基本Java规则?
答案 0 :(得分:0)
实现接口时,您可能不会引发异常,因此可以执行以下操作:
new Appendable() {
@Override
public Appendable append(CharSequence charSequence) {
return null;
}
@Override
public Appendable append(CharSequence charSequence, int i, int i1) {
return null;
}
@Override
public Appendable append(char c) {
return null;
}
}
答案 1 :(得分:0)
在实现接口或扩展抽象类时, 您可以决定是否引发异常。
无论重写方法是否引发异常,覆盖方法都可以引发任何未经检查的异常。但是,重载方法不应抛出比被重载方法声明的异常新的或更广泛的检查异常。