您的位置 首页 java

Java基础—重新抛出异常

重新抛出异常

在catch块内处理完后,可以重新抛出异常,异常可以是原来的,也可以是新建的,如下所示:

try{
//可能触发异常的代码
}catch( number Format Exception e){
System.out.println(“not valid number”);
throw new AppException(“输入格式不正确”, e);
}catch(Exception e){
e.printStackTrace();
throw e;
}

对于Exception,在打印出异常栈后,就通过throw e重新抛出了。

而对于 Number FormatException,重新抛出了一个AppException,当前Exception作为cause传递给了AppException,这样就形成了一个异常链,捕获到AppException的代码可以通过getCause()得到NumberFormatException。

为什么要重新抛出呢?因为当前代码不能够完全处理该异常,需要调用者进一步处理。

为什么要抛出一个新的异常呢?当然是因为当前异常不太合适。不合适可能是信息不够,需要补充一些新信息;还可能是过于细节,不便于调用者理解和使用,如果调用者对细节感兴趣,还可以继续通过getCause()获取到原始异常。

了解更多Java知识,点击下方链接和小编一起学习,Java资料以及学习笔记等你来嫖~

文章来源:智云一二三科技

文章标题:Java基础—重新抛出异常

文章地址:https://www.zhihuclub.com/183002.shtml

关于作者: 智云科技

热门文章

网站地图