【问题标题】:How to catch an error thrown by a third party library in PHP如何在 PHP 中捕获第三方库引发的错误
【发布时间】:2016-07-27 10:20:09
【问题描述】:

我在我的 Laravel 应用程序中使用 phpWhois 包来执行 whois 查询。

除了我输入的一些网站,一直出现这个错误:

'ErrorException in whois.gtld.godaddy.php line 50: Undefined index: owner'

我google了一下,发现这个问题已经在Github上有一个开放的issue,还有一个现有的pull request

我不想在源代码中复制并粘贴建议的修复程序,因为这意味着我每次都必须这样做composer install

所以我决定改为捕获错误,但我不知道如何。

我在这里找到了一个有点相似的question 并尝试了接受的解决方案,但它仍然抛出异常。

这是我尝试过的现有代码:

$whois = new \Whois();

try {
    $result = $whois->lookup($data['name']);
} catch (Exception $e) {
    return response()->json(['error' => $e]);
}

如果有任何评论/帮助,我将不胜感激。

感谢您的宝贵时间。

【问题讨论】:

  • 尝试捕捉ErrorException
  • 谢谢@CharlotteDunois。我必须加上反斜杠才能让它工作,因为如果我不这样做,它就不会。
  • 嗯,是的,由于命名空间。
  • 哦。感谢您指出。

标签: php laravel exception


【解决方案1】:

如果要捕获异常,请遵循下面提到的编程风格。

try {
    $whois = new \Whois();
    $result = $whois->lookup($data['name']);
} catch (\Exception $e) {
    \var_dump($e->getMessage());
}

上述方法几乎适用于所有 PHP 框架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 2021-08-08
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多