首页 > 其他 > 详细

异常处理,多个抛异常如何区分是程序和自己抛出的异常

时间:2021-08-20 15:39:43      阅读:7      评论:0      收藏:0      [点我收藏+]

需求,我要程序在某一处发生错误,需要抛出异常且返回信息,但是如果是程序自己的异常返回固定的信息。

 

try {
      
throw new Exception("订单号不存在!");
} catch (RuntimeException e) { 
log.error(
"发票作废异常,异常原因是:", e);
resMap.put(
"code", HttpStatus.INTERNAL_SERVER_ERROR);
resMap.put(
"msg", "发票作废异常");
}
catch (Exception e){ log.error("发票作废异常,异常原因是:", e);
resMap.put(
"code", HttpStatus.INTERNAL_SERVER_ERROR);
resMap.put(
"msg", e.getMessage()); }

如果是自己抛出异常,可以在之前抓住,使用Exception 或者继承它的其他异常。在程序执行中均是RuntimeException 所以,自己抛出的异常是运行异常的子类就可以

也会在后面抓住,然后就可以获取抛出异常的message了,这里message是自己抛出异常的信息,如果是程序本身就是同意发票作废失败信息,也不会提示英文错误代码::”

Read timed out
java.net.SocketTimeoutException: Read timed out“

 

异常处理,多个抛异常如何区分是程序和自己抛出的异常

原文:https://www.cnblogs.com/hylr/p/15166194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!