有人可以帮忙吗?我是一名CS学生,正在用Java上一个项目上课。我们需要创建一个LinkedQueue类中抛出的检查异常。一切都很好。在LinkedQueue上方的类中,我们需要确认异常而不对其进行处理。因此,对于类中调用LinkedQueue方法的每个方法,我都添加了“ throws EmptyQueueException”。除toString方法外,它均有效。当我添加throws子句时,出现错误提示
“ overrider java.lang.Object.toString”
和
Exception EmptyQueueException与Object.toString中的throws子句不兼容。
有什么想法/帮助吗?
非常感谢
答案 0 :(得分:3)
不能。 Object#toString()
方法的约定保证它不会引发任何已检查的异常,并且由于Object
(所有内容)必须符合此约定,因此您无法添加已检查的异常。 toString()
不应永远抛出任何形式的异常,因为在整个应用程序中数千个地方都使用了它,并且应该“安全”地调用。