first commit
This commit is contained in:
35
support/ExceptionHandler.php
Normal file
35
support/ExceptionHandler.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace support;
|
||||
|
||||
use Throwable;
|
||||
use Webman\Http\Request;
|
||||
use Webman\Http\Response;
|
||||
use Webman\Exception\ExceptionHandler as BaseExceptionHandler;
|
||||
use app\common\exception\BusinessException;
|
||||
|
||||
class ExceptionHandler extends BaseExceptionHandler
|
||||
{
|
||||
public function render(Request $request, Throwable $exception): Response
|
||||
{
|
||||
$code = $exception->getCode();
|
||||
$message = $exception->getMessage();
|
||||
$data = null;
|
||||
|
||||
if ($exception instanceof BusinessException) {
|
||||
$code = $code ?: 400;
|
||||
$data = $exception->getData();
|
||||
} else {
|
||||
$code = 500;
|
||||
$message = 'Server internal error';
|
||||
if (config('app.debug')) {
|
||||
$message = $exception->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
return json([
|
||||
'code' => $code,
|
||||
'msg' => $message,
|
||||
'data' => $data,
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user