我关注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);
}
答案 0 :(得分:1)
请尝试这样
throw new MyCustomException('This is NOT the message I want to see');
答案 1 :(得分:0)
您现在可能已经解决了这个问题,但您想要的是$e->getMessage()
。
使用PHP 5.1+打印您的异常消息。