需求,我要程序在某一处发生错误,需要抛出异常且返回信息,但是如果是程序自己的异常返回固定的信息。
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“