【发布时间】:2020-03-14 04:36:18
【问题描述】:
有人可以帮忙吗?我是一名 CS 学生,正在从事 Java 课程的项目。我们需要创建一个在 LinkedQueue 类中抛出的检查异常。这一切都很好。在我的 LinkedQueue 上面的类中,我们需要确认异常而不是处理它。因此,对于调用 LinkedQueue 方法的类中的每个方法,我都添加了“抛出 EmptyQueueException”。除了 toString 方法外,它都有效。当我添加 throws 子句时,我收到一个错误提示
"覆盖 java.lang.Object.toString"
和
异常 EmptyQueueException 与 Object.toString 中的 throws 子句不兼容。
有什么想法/帮助吗?
非常感谢
【问题讨论】:
-
你不能那样做。您的类会覆盖 toString 方法,这意味着您无法更改其签名。这包括例外情况。
-
它与
toString()签名有关。由于它是一个覆盖,它需要保持与它覆盖的方法相同的形式。这包括返回类型、访问级别、参数和抛出声明。