gpt4 book ai didi

java - 为什么 JUnit 调用 "object"而不是 "exception"?

转载 作者:行者123 更新时间:2023-12-01 08:47:24 27 4
gpt4 key购买 nike

我尝试编写一个异常类,这是我的代码:

public class DealWithMeException {
public DealWithMeException(String message){
message="To make a class a checked exception it needs be a subclass of the appropriate Java class";
}
}

当我运行 JUnit 测试时,总是出现错误并显示“调用 Java.long.object 而不是 Java.long.exceptions”

这是我的 JUnit 测试代码:

public class ExceptionsTest {
@Test
public final void testCheckedException() {
Class<DealWithMeException> cut = DealWithMeException.class;
assertEquals("To make a class a checked exception it needs be a subclass of the appropriate Java class",
Exception.class, cut.getSuperclass());
}
}

发生了什么?

最佳答案

您错误地声明了异常类。异常类必须扩展现有的异常类;例如异常RuntimeException。 (技术要求是异常类必须是 java.lang.Throwable 的子类,但直接扩展该类是一个非常糟糕的主意。)

您的声明没有明确扩展任何内容。这意味着它隐式扩展了Object。换句话说,它不是一个有效的异常类。事实上,您为该类指定了一个以 ...Exception 结尾的名称,这一事实是无关紧要的

简而言之,JUnit 测试说的是实话。

关于java - 为什么 JUnit 调用 "object"而不是 "exception"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42591627/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com