|
|
@ -34,10 +34,20 @@ class ExceptionHandle extends Handle |
|
|
* @param Throwable $exception |
|
|
* @param Throwable $exception |
|
|
* @return void |
|
|
* @return void |
|
|
*/ |
|
|
*/ |
|
|
public function report(Throwable $exception): void |
|
|
public function report(Throwable $exception): Response |
|
|
{ |
|
|
{ |
|
|
// 使用内置的方式记录异常日志 |
|
|
// 手动触发的异常 BaseException |
|
|
parent::report($exception); |
|
|
if ($e instanceof BaseException) { |
|
|
|
|
|
$this->status = $e->status; |
|
|
|
|
|
$this->message = $e->message; |
|
|
|
|
|
$this->data = $e->data; |
|
|
|
|
|
$extend = property_exists($e, 'extend') ? $e->extend : []; |
|
|
|
|
|
return $this->output($extend); |
|
|
|
|
|
}else{ |
|
|
|
|
|
// 使用内置的方式记录异常日志 |
|
|
|
|
|
parent::report($exception); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -55,4 +65,15 @@ class ExceptionHandle extends Handle |
|
|
// 其他错误交给系统处理 |
|
|
// 其他错误交给系统处理 |
|
|
return parent::render($request, $e); |
|
|
return parent::render($request, $e); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 返回json格式数据 |
|
|
|
|
|
* @param array $extend 扩展的数据 |
|
|
|
|
|
* @return Json |
|
|
|
|
|
*/ |
|
|
|
|
|
private function output(array $extend = []): Json |
|
|
|
|
|
{ |
|
|
|
|
|
$jsonData = ['message' => $this->message, 'status' => $this->status, 'data' => $this->data]; |
|
|
|
|
|
return json(array_merge($jsonData, $extend)); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|