On this page
全局异常处理
php
// app/ExceptionHandle.php
public function render($request, Throwable $e): Response
{
// 参数验证
if ($e instanceof ValidateException) {
return json($e->getError(), 422);
}
// 调试模式
if (env('APP_DEBUG')) {
// 其他错误交给系统处理
return parent::render($request, $e);
}
$headers = $e->getHeaders();
return json([
'msg'=>$e->getMessage(),
'errorCode'=>$e->getStatusCode()
],array_key_exists('statusCode',$headers) ? $headers['statusCode'] : 404);
}
php
// app/common.php
// 抛出异常
function ApiException($msg = '请求错误',$errorCode = 20000,$statusCode = 404)
{
abort($errorCode, $msg,[
'statusCode' => $statusCode
]);
}
// 成功返回
function showSuccess($data = '',$msg = 'ok',$code = 200){
return json([ 'msg' => $msg, 'data' => $data ],$code);
}
// 失败返回
function showError($msg = 'error',$code = 400){
return json([ 'msg' => $msg ],$code);
}