return null的时候在ExceptionHandler的render方法中,抛出的实例不是BaseException的实例
来源:6-5 实现自定义全局异常处理 下
loti
2017-10-17
return null的时候在ExceptionHandler的render方法中,抛出的实例不是BaseException的实例,打断点看是ErrorException,我换成了ErrorException可以进去了,帮忙看下是为什么?
public function render(Exception $e)
{
if ($e instanceof ErrorException)
{
// 如果是自定义的异常
$this->code = 111;
$this->msg = '2222';
$this->errorCode = '40002';
}
else{
$this->code = 500;
$this->msg = '服务器内部错误';
$this->errorCode = 999;
}
$request = Request::instance();
$result = [
'msg' => $this->msg,
'error_code' => $this->errorCode,
'request_url' => $request->url()
];
return json($result, $this->code);
}
2回答
-
loti
提问者
2017-10-17
已经找到问题,ExceptionHandler.php中引入的类不对;
错误:use think\Exception;
正确:use Exception;
已经解决谢谢。
122017-10-18 -
loti
提问者
2017-10-17
补充一下,我的tp5版本是 define('THINK_VERSION', '5.0.11');
00
相似问题