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

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

 

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“

 

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

上一篇:Gitlab备份、迁移、恢复和升级


下一篇:我的Android进阶之旅------>adbd cannot run as root in production builds 的解决方法