【问题标题】:Laravel 4.2 custom error handler not workingLaravel 4.2 自定义错误处理程序不起作用
【发布时间】:2015-12-21 16:03:17
【问题描述】:

我正在尝试以自定义方式处理 InvalidArgumentException。在 app/start/global.php 中,我在内置 App::error(Exception $exception... block 之后有以下代码块:

App::error(function(InvalidArgumentException $exception, $code){

//    die('last');

    $exceptionData['exception'] = $exception;
    $exceptionData['code'] = $code;

    ExceptionNotificationHandlerController::notify($exceptionData);

});

die()ing、断点等都向我暗示,当我抛出 InvalidArgumentException 时,它永远不会进入该代码块。帮忙?

【问题讨论】:

  • 你试过没有 $code 参数吗示例中的签名只有 $exception 参数不确定签名在尝试加载时是否会有所不同。
  • @MarkDavidson 是的,我试过不带 $code 参数。同样的事情。

标签: php laravel exception laravel-4


【解决方案1】:

好的,对于遇到此问题的任何人来说,似乎在 app/config/app.php 中设置'debug' => true 会阻止您正确使用自定义异常处理程序。一旦我将其设置为 false,我的所有问题都消失了。令人讨厌的是,您应该在本地环境中工作时将此设置为 true。更烦人的是,一旦您将 debug 设置为 false,您将无法再收到带有 $exception->getMessage() 的异常消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2015-07-28
    • 2021-05-20
    相关资源
    最近更新 更多