返回null空指針異常捕獲不到,直接報(bào)錯(cuò)沒有l(wèi)ogger提示
postman返回這個(gè)格式,不是應(yīng)該出現(xiàn)的-1,控制臺(tái)也沒有打印【系統(tǒng)異?!窟@幾個(gè)字
{
? ? "timestamp": "2018-10-09T12:02:04.961+0000",
? ? "status": 500,
? ? "error": "Internal Server Error",
? ? "message": "No message available",
? ? "path": "/girls"
}
2018-10-12
下面的是我寫的異常處理類
有兩點(diǎn)你需要注意看下
????1.@ExceptionHandler注解填的是Exception.class嗎?
????2.else分支這里有沒有作以處理,再者說了,這里總返回的是Result對象,你前臺(tái)怎么可能會(huì)展現(xiàn)別的格式呢,說明你并沒有返回Result對象,你可以試著用debug啟動(dòng)項(xiàng)目,然后打斷點(diǎn)跟著程序看看
@ExceptionHandler(Exception.class) @ResponseBody public?Result?girlHandle(Exception?e){ if(e?instanceof?GirlException){ GirlException?ge=(GirlException)e; log.info(ge.getMessage(),ge); return?ResultUtil.error(ge.getCode(),?ge.getMessage()); }else{ //因?yàn)殄e(cuò)誤捕獲,所以后臺(tái)沒有報(bào)錯(cuò),這里我們通過日志將其打印出來,以便排錯(cuò) log.info("【系統(tǒng)發(fā)生錯(cuò)誤】",e); return?ResultUtil.error(-1,?"系統(tǒng)發(fā)生了錯(cuò)誤,請稍后再試,或聯(lián)系管理員"); } }2018-10-12
謝謝,我異常處理類值是GirlException類了,沒改成Exception類。學(xué)習(xí)了再次感謝!
2018-10-10
你這是后臺(tái)報(bào)錯(cuò)了,而不是拋出異常,如果是拋出異常了才會(huì)打印系統(tǒng)異常,你看看是不是代碼寫的有錯(cuò)誤