使用API​​和PHP时,错误处理的好方法是什么?

时间:2012-05-12 02:58:40

标签: php error-handling

所以我正在使用API​​,我想知道在不破坏脚本的情况下处理错误的一些好方法。向我投掷任何东西,让我接触更多,以便我可以进一步研究它。

此外,示例表示赞赏,它可以帮助我在视觉上将某些内容与术语/短语联系起来。

我的一些读物:

Error handling in PHP

3 个答案:

答案 0 :(得分:2)

  1. 记录错误
  2. 如果这是面向应用程序/页面的用户,则向他们显示人性化的错误消息,而不是API返回的错误消息
  3. 如果您的API调用由于技术原因(即卷曲无法连接)失败,或者API遇到异常的技术问题,则应使用例外。否则应使用正常的错误处理(即用户提供的无效数据)

答案 1 :(得分:2)

错误处理,是一个很大的话题。它不能缩小到一个答案。最佳实践通常基于用户友好性和安全性来判断。所以基本上你的api,应该有单独的错误的多个功能。

  • 应包括记录错误的方法,并在用户需要时显示。
  • 为您的错误编号。为每个错误提供唯一编号以识别它。
  • 将例外付诸实践。 并非每个错误都是实际的,有些是例外情况。
  • 必须创建多种处理错误的方法。喜欢立刻对错误进行分组或逐一展示错误。

答案 2 :(得分:1)

通常我所做的是用try / catch块包装潜在的有问题的代码 - 例如数据库连接。然后,如果发现任何错误,请将人类可读的等效项放在全局数组中,以便您可以安全地将列表输出到模板。

例如:

<?php
$errors = array();
try
{
   if (!$var)
        throw new Exception('Meh..');
}
catch (Exception $e)
{
    // Use $e with caution, as with database connection it can sometimes contain your password. :P
    $errors[] = 'Something is seriously wrong with that last statement.<br />' . $e;
}


// Template layers..

echo '
        <ul>';
foreach ($errors as $error)
    echo '
            <li>', $error, '</li>';

echo '
        </ul>';