文章目录
异常处理包含定义异常类和与之对应的异常处理类,处理类通常包含名字为 handle 的方法
一、定义异常类
<?php
namespace App\Exception;
Class ApiException extends \Exception {
}
二、定义异常处理类
<?php
namespace App\Exception\Handler;
use App\Exception\ApiException;
use Swoft\Error\Annotation\Mapping\ExceptionHandler;
use Swoft\Http\Message\Response;
use Swoft\Http\Server\Exception\Handler\AbstractHttpErrorHandler;
/**
* @ExceptionHandler(ApiException::class)
*/
class ApiExceptionHandler extends AbstractHttpErrorHandler
{
/**
* @param \Throwable $e
* @param Response $response
* @return Response
* @throws \ReflectionException
* @throws \Swoft\Bean\Exception\ContainerException
*/
public function handle(\Throwable $e, Response $response): Response
{
$data = [
'code'