ufo-tech/rpc-exceptions

异常包 RPC 服务器错误代码

1.0.4 2024-05-10 18:41 UTC

This package is auto-updated.

Last update: 2024-09-10 19:34:06 UTC


README

异常包 RPC 服务器错误代码

Ukraine

License Size package_version fork php_version

问题

当一个 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,
]

盈利