Laravel自定义异常处理程序未运行

时间:2014-03-27 14:19:27

标签: php exception-handling error-handling laravel laravel-4

我关注tutorial并查看了Laravel's docs以注册自定义错误处理程序。

我注册了类,并抛出了MyCustomException,但由于某种原因,它忽略了其中的所有内容,只运行常规的Exception类。下面的代码打印出exception 'MyCustomException' with message 'This is NOT the message I want to see'而不是“这是自定义异常消息”

目前下面的所有代码都只是在测试页面上,但我已经尝试在Exception之前将类(并将MyCustomException声明)注册到global.php中,并且我也在Exception之后尝试过。什么都没有改变。

我也在MyCustomException中试过sleep(10),但是没有运行; MyCustomException无法运行。

我做错了什么?

编辑:实际上,复制和粘贴教程中的代码会导致与我的自定义代码相同;自定义异常处理程序无法运行。

class MyCustomException extends Exception {}

App::error(function(MyCustomException $exception) { 
    return "This is the custom exception message.";
});

//Now throw the error and see what comes out
try {
    throw new MyCustomException('This is NOT the message I want to see');
} catch (MyCustomException $e) {
    die($e);
}

2 个答案:

答案 0 :(得分:1)

请尝试这样

throw new MyCustomException('This is NOT the message I want to see');

答案 1 :(得分:0)

您现在可能已经解决了这个问题,但您想要的是$e->getMessage()

使用PHP 5.1+打印您的异常消息。

文档:http://php.net/manual/en/exception.getmessage.php