Laravel 如何捕获容器异常?

Laravel 如何捕获容器异常?,laravel,exception-handling,ioc-container,Laravel,Exception Handling,Ioc Container,我希望能够捕获容器绑定异常,但它似乎不起作用 如果我有此代码: try { $instance = app()->make('SomeNonExistingBinding'); } catch (Exception $e) { // handle failure } 但不知何故,抛出的异常被捕获在AFAIK在HTTP响应中转换异常的illumb\Routing\Pipeline::prepareDestination()方法中,而不是我的try catch块 有人能帮我吗

我希望能够捕获容器绑定异常,但它似乎不起作用

如果我有此代码:

try {
    $instance = app()->make('SomeNonExistingBinding');
} catch (Exception $e) {
    // handle failure
}
但不知何故,抛出的异常被捕获在AFAIK在HTTP响应中转换异常的
illumb\Routing\Pipeline::prepareDestination()
方法中,而不是我的
try catch

有人能帮我吗


提前感谢。

您不应该捕获容器异常。不应该缺少注册。如果没有“真实”的实现,您应该注册空对象实现。这段代码在哪里运行?是否声明了名称空间?我正在编写一个简单的(当然是名称空间的)psr/容器适配器。规范明确规定,如果发生错误,容器应抛出ContainerException。所以,基本上,我想在绑定失败的情况下抛出NotFoundException,在所有其他错误情况下抛出ContainerException。