2023-10-09 13:42:49 +08:00

40 lines
1.0 KiB
PHP

<?php
namespace app\common\exception;
use Webman\Exception\ExceptionHandler;
use Webman\Http\Request;
use Webman\Http\Response;
use Throwable;
class Handler extends ExceptionHandler
{
/**
* 不用记录日志的异常
* @var string[]
*/
public $dontReport = [
HttpException::class
];
public function report(Throwable $exception)
{
parent::report($exception);
}
public function render(Request $request, Throwable $exception) : Response
{
if ($exception instanceof HttpException) {
return $exception->getResponse();
}
if ($request->expectsJson()) {
if (!$this->_debug) {
$json = ['code' => 500, 'msg' => '服务器错误!'];
return new Response(200, ['Content-Type' => 'application/json'],
json_encode($json, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
}
}
return parent::render($request, $exception);
}
}