【踩坑】TP5自定義全局異常處理提示render不兼容

TP5自定義全局異常處理,全部拋出的異常都經過自定義render方法渲染,再返回客戶端顯示。
須要自定義handle的render方法並覆蓋:php

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檢驗接口出現以下錯誤提示不兼容:
image.png
追蹤到原始的Handle.php文件,
image.png
查看下use,發現源文件用的是Exception,而我用的think\Exception
image.png
修改下代碼:json

namespace app\lib\exception;  
  
use Exception;  
use think\exception\Handle;
class ExceptionHandler extends Handle  
{  
  public function render(Exception $e)  
    { 
        //TODO:
        return json('invalid request')
    }  
}

結果正確啦:
image.pngapp

相關文章
相關標籤/搜索