未处理的异常 Junit
Unhandled Exception Junit
我无法 运行 我的测试,因为测试在此语句 decorator.decorate(new EncoderColumnDecorator())
中出现红色波浪线错误行,要求我使用 try/catch 或添加抛出。
这是错误信息。
当我已经有属性 "expected"
时,为什么我必须放置 try/catch 或抛出异常
我的单元测试:
@Test(expected=DecoratorException.class)
public void testDecorate_exception() {
decorator.decorate(new EncoderColumnDecorator()); -----Error in this line
}
正在测试的方法
@Override
public String decorate(Object arg0) throws DecoratorException {
try{
//some code
}
}catch(Exception e){
throw new DecoratorException();
}
return arg0;
}
}
这只是代码有效必须遵循的规则 Java。如果一个函数调用另一个 throws
的函数,那么它也必须抛出该异常或捕获它。
有点像变量的静态类型。虽然这看起来很不方便,但它可以通过不允许歧义来帮助确保正确的代码。让编译器报告任何不一致有助于更早地发现问题。
我无法 运行 我的测试,因为测试在此语句 decorator.decorate(new EncoderColumnDecorator())
中出现红色波浪线错误行,要求我使用 try/catch 或添加抛出。
这是错误信息。
当我已经有属性 "expected"
时,为什么我必须放置 try/catch 或抛出异常我的单元测试:
@Test(expected=DecoratorException.class)
public void testDecorate_exception() {
decorator.decorate(new EncoderColumnDecorator()); -----Error in this line
}
正在测试的方法
@Override
public String decorate(Object arg0) throws DecoratorException {
try{
//some code
}
}catch(Exception e){
throw new DecoratorException();
}
return arg0;
}
}
这只是代码有效必须遵循的规则 Java。如果一个函数调用另一个 throws
的函数,那么它也必须抛出该异常或捕获它。
有点像变量的静态类型。虽然这看起来很不方便,但它可以通过不允许歧义来帮助确保正确的代码。让编译器报告任何不一致有助于更早地发现问题。