首页 > 技术文章 > Java中自定义异常

eisenshu 2021-12-06 18:40 原文

定义一个自定义异常类MyException,继承Exception异常大类,其中toString方法用来输出异常打印的信息,该方法可以自定义输出结果。

 

a=1时

输出:

传递的参数为:1
OK


 

a=11时

输出:

传递的参数为:11
MyException->MyException{detail=11}


 

其中Test类中的test方法也可以不抛出异常(让后续调用者捕获)而直接在test中进行捕获:

 

a=1时输出:

传递的参数为:1
OK


 

a=11时输出:

传递的参数为:11
MyException->MyException{detail=11}
OK


 

但是很显然第二种方式,a=11时输出多了一个“OK”,可见在test方法中捕获以后程序会继续执行后续打印操作;而方法一中执行到if判断语句后,test方法直接抛出异常,程序转到主函数中的catch语句中执行,即被主函数捕获。

 

推荐阅读