diff --git a/src/Exception/Handler/JsonRpcBusinessExceptionHandler.php b/src/Exception/Handler/JsonRpcBusinessExceptionHandler.php index 590d374..7f5d0cb 100644 --- a/src/Exception/Handler/JsonRpcBusinessExceptionHandler.php +++ b/src/Exception/Handler/JsonRpcBusinessExceptionHandler.php @@ -18,6 +18,7 @@ use Hyperf\HttpMessage\Stream\SwooleStream; use Hyperf\RpcClient\Exception\RequestException; use Dhd\Micro\Core\Exception\BusinessException; use Dhd\Micro\Core\Exception\ValidateException; +use Hyperf\Database\Model\ModelNotFoundException; use Dhd\Micro\Core\Trait\RpcContextTrait; @@ -36,9 +37,13 @@ class JsonRpcBusinessExceptionHandler extends ExceptionHandler $id = $request ? $request->getAttribute('request_id', null) : null; // Hyperf 注入的 ID $isError = !($throwable instanceof BusinessException) && !($throwable instanceof ValidateException) - && !($throwable instanceof RequestException); + && !($throwable instanceof RequestException) + && !($throwable instanceof ModelNotFoundException); - if ($isError) { + if ($throwable instanceof ModelNotFoundException) { + $code = 404; + $message = $throwable->getMessage(); + } elseif ($isError) { $code = 500; $message = '服务器内部错误'; } else {