你如何捕捉抛出的错误HTTP客户端 https://laravel.com/docs/8.x/http-client(例如超时),以便在您可以对错误执行任何操作以避免停止执行之前,它不会在 Laraval 调试器(在调试模式下)中抛出curl 错误?
use Illuminate\Support\Facades\Http;
try {
$request = Http::post('https://example.com/post', [
'password' => 'guest']);
} catch(ConnectException $e)
{
//log error
}
//continue with another mode
相反,我总是收到 Laravel 的 Ignition 错误页面
Illuminate\Http\Client\ConnectionException
cURL error 28: Failed to connect to example.com port 443: Timed out
并且我的代码没有捕获该错误。 laravel 调试器是否可能始终具有优先级并且在调试模式下无法被覆盖?
这几乎肯定是命名空间问题。
您需要在文件顶部添加以下内容:
use Illuminate\Http\Client\ConnectionException;
或者这样做:
} catch(\Illuminate\Http\Client\ConnectionException $e)
否则,你实际上是在试图抓住一些东西current命名空间ConnectionException
(即类似的东西App\Controllers\ConnectionException
),永远不会存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)