首先,抛出异常
toString()是一个非常糟糕的主意。
toString()用于许多系统软件(例如调试器)中以生成对象的表示形式。
第一个优先选择是做其他事情,可能创建一个可能抛出的不同方法,并在
toString()调用该方法时捕获异常并产生替换输出,例如
super().toString() + " threw " + exception.toString();
如果您确实必须抛出,则可以执行以下操作:
try { str.insert(str.length(), current.element().toString() + " "); current = fList.next(current); } catch(Exception e){ throw new IllegalStateExcception(super.toString(), e); }这会将检查的异常(从java.lang.Exception派生)包装在未检查的异常(从java.lang.RuntimeException派生)中。无需添加
throws子句。



