sta*_*low 5 java exception-handling
我有以下Java代码
import org.testng.annotations.Test;
@Test
public void testException(){
try{
Assert.assertEquals(1,2);
} catch(Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
运行测试时,断言失败,异常打印为标准输出,TestNG将测试结果显示为FAILED.
如果我使用相同的异常
catch(AssertionError e){
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
异常打印为错误输出,TestNG将测试结果显示为PASSED.在这两种情况下都处理异常,但这有什么区别?
AssertionError
(不是Exception
它的子类Error
)的子类,所以带有catch(Exception e)
处理程序的第一个片段不会捕获它.因此测试结果为FAILED.
第二个片段捕获了异常,因此就a TestNG
而言,测试中没有异常testException()
,结果是PASSED.
归档时间: |
|
查看次数: |
73 次 |
最近记录: |