ufo-tech / rpc-exceptions
异常包 RPC 服务器错误代码
1.0.4
2024-05-10 18:41 UTC
Requires
- php: >=8.1
README
异常包 RPC 服务器错误代码
问题
当一个 rpc 调用遇到错误时,响应对象必须包含一个错误成员,其值是一个具有以下成员的对象
-
code: 表示发生的错误类型的数字。这必须是一个整数。
-
message: 提供错误简短描述的字符串。消息应限制为简洁的单句。
有许多错误代码,从代码中识别错误可能是一个困难的任务。这个库将帮助您。您可以从错误代码中轻松获取异常对象。
安装
$ composer require ufo-tech/rpc-exceptions
获取异常对象
从代码
use Ufo\RpcError\AbstractRpcErrorException; $code = -32700; $message = 'Some custom error message from rpc server'; // optional $rpcException = AbstractRpcErrorException::fromCode($code); // return instance of RpcJsonParseException::class
从数组
use Ufo\RpcError\AbstractRpcErrorException; $data = [ 'code' = -32600, 'message' = 'Some custom error message from rpc server', ]; $rpcException = RpcBadRequestException::fromArray($data); // return instance of RpcBadRequestException::class
从 JSON
use Ufo\RpcError\AbstractRpcErrorException; $data = "{\"code\":-32500,\"message\":\"Some custom error message from rpc server\"}"; $rpcException = AbstractRpcErrorException::fromArray($data); // return instance of RpcRuntimeException::class
映射列表
use Ufo\RpcError\AbstractRpcErrorException; $mapping = AbstractRpcErrorException::getRpcErrorsList(); // return array map [ -32700 => RpcJsonParseException::class, -32600 => RpcBadRequestException::class, -32601 => RpcMethodNotFoundExceptionRpc::class, -32602 => RpcBadParamException::class, -32603 => RpcInternalException::class, -32500 => RpcRuntimeException::class, -32400 => RpcLogicException::class, -32401 => RpcTokenNotFoundInHeaderException::class, -32403 => RpcInvalidTokenException::class, -32300 => RpcAsyncRequestException::class, -32301 => RpcInvalidBatchRequestExceptions::class, -32000 => RpcDataNotFoundException::class, ]