first commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Administrator
|
||||
* Date: 2019/5/23
|
||||
* Time: 15:53
|
||||
*/
|
||||
|
||||
namespace app\lib\exception;
|
||||
|
||||
use Exception;
|
||||
use think\exception\Handle;
|
||||
use think\facade\Log;
|
||||
use think\facade\Request;
|
||||
|
||||
class ExceptionHandle extends Handle
|
||||
{
|
||||
private $code;
|
||||
private $msg;
|
||||
private $errorCode;
|
||||
private $status;
|
||||
//需要返回客户端当前请求的url路径
|
||||
public function render(Exception $e){
|
||||
if($e instanceof BaseException){
|
||||
//如果是自定义的异常
|
||||
$this->code = $e->code;
|
||||
$this->msg = $e->msg;
|
||||
$this->errorCode = $e->errorCode;
|
||||
$this->status = $e->status;
|
||||
}else{
|
||||
if(config('app_debug')){
|
||||
return parent::render($e);
|
||||
}else{
|
||||
$this->code = 500;
|
||||
$this->msg = '服务器内部错误';
|
||||
$this->errorCode = 999;
|
||||
$this->recordErrorLog($e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$result = [
|
||||
'code' => $this->code,
|
||||
'msg' => $this->msg,
|
||||
'error_code' => $this->errorCode,
|
||||
'status'=>$this->status,
|
||||
'request_url' =>Request::url()
|
||||
];
|
||||
return json($result,$this->code);
|
||||
}
|
||||
|
||||
private function recordErrorLog(Exception $e){
|
||||
Log::record($e->getMessage(),'error');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user