处理来自第三方API的错误

时间:2018-06-22 12:50:58

标签: php error-handling

我正在与第三方xmlrpc API合作。错误可以作为字符串或数组返回。我需要处理和格式化这些错误以使用户友好。 API不使用错误代码/字符串。

我目前正在使用switch-case,但希望有所改进。

现有代码:

switch ($result) { // removed some blocks for sake of post
        case 'Error:malformed_mac':
              $result = $_POST['params'][0] . " is malformed. Please check you have entered it correctly.";
            break;
        case 'Error:no_such_mac':
            $result = "Sorry, " . $_POST['params'][0] . " hasn't been registered.";
            break;
 }

无论如何,我可以将所有可能的错误的数组声明为键,并将自定义消息声明为值:

  

$ errors = ['Error:no_such_mac'=>'自定义错误message1',   'Error:malformed_mac'=>'自定义错误message2'];

然后,如果键存在于响应中,则打印出相应的值?还是我可以实现这一目标的另一种方法?

感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

解决了以下问题:

  

$ errors = [            “ Error:no_such_mac” =>“ Mac地址不存在”,            “ Error:malformed_mac” =>“ Mac地址格式错误”       ];

$word = "Error:no_such_mac";
echo strtr($word,$arr);

输出:

  

Mac地址不存在。

如果有更好的解决方案,请发布,我将标记为已接受答案。