#TP5自訂全域例外處理,所有拋出的例外都經過自定義render方法渲染,再返回客戶端顯示。
需要自訂handle的render方法並覆寫:
namespace app\lib\exception; use think\Exception; use think\exception\Handle; class ExceptionHandler extends Handle { public function render(Exception $e) { //TODO: return json('invalid request') } }
登入後複製
之後出現postman檢定介面出現如下錯誤提示不相容:
追蹤到原始的Handle. php文件,
查看下use,發現原始檔用的是Exception
,而我用的think\Exception
:
修改下程式碼:
namespace app\lib\exception; use Exception; use think\exception\Handle; class ExceptionHandler extends Handle { public function render(Exception $e) { //TODO: return json('invalid request') } }
登入後複製
結果正確啦: