在将throws子句添加到toString方法标头中遇到问题

时间:2020-03-13 20:30:33

标签: java exception checked

有人可以帮忙吗?我是一名CS学生,正在用Java上一个项目上课。我们需要创建一个LinkedQueue类中抛出的检查异常。一切都很好。在LinkedQueue上方的类中,我们需要确认异常而不对其进行处理。因此,对于类中调用LinkedQueue方法的每个方法,我都添加了“ throws EmptyQueueException”。除toString方法外,它均有效。当我添加throws子句时,出现错误提示

“ overrider java.lang.Object.toString”

Exception EmptyQueueException与Ob​​ject.toString中的throws子句不兼容。

有什么想法/帮助吗?

非常感谢

1 个答案:

答案 0 :(得分:3)

不能。 Object#toString()方法的约定保证它不会引发任何已检查的异常,并且由于Object(所有内容)必须符合此约定,因此您无法添加已检查的异常。 toString()不应永远抛出任何形式的异常,因为在整个应用程序中数千个地方都使用了它,并且应该“安全”地调用。

相关问题