Files
appraisal_center_api/support/ExceptionHandler.php
2026-04-16 11:17:18 +08:00

36 lines
915 B
PHP

<?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,
]);
}
}