我刚刚进入laravel,这是我的第一个项目。
现在我正试图添加新的异常处理程序堆栈,但对不起,它不工作,我不知道为什么。
这是我的异常类namespace Lib'Modules'Users'Exceptions;
use Lib'Abstracts'AbstractException;
class ConnotCreateUserException extends AbstractException {
}
这是我的摘要
namespace Lib'Abstracts;
class AbstractException extends 'Exception {
}
这里是我的错误注册在app/start/global.php
App::error(function(Exception $exception, $code)
{
Log::error($exception);
});
App::error(function(Lib'Modules'Users'Exceptions'ConnotCreateUserException $exception){
return 'Sorry! Something is wrong with this account!';
});
抛出异常时,得到的是空白页。但我确信它是作为"'Exception"异常类型处理的。
Thanks in advance
由于代码看起来很好,我只是对它做了一些测试,它为我工作,只需确保您的名称空间被正确加载:
composer dump-autoload
但是,无论如何,我是这样做的:
1)为它创建一个PSR-4自动加载:
"autoload": {
"classmap": [
...
],
"psr-4": {
"Lib''" : "app/App/Lib"
}
},
2)使用你的内容创建文件:
app/App/Lib/Abstracts/AbstractException.php
app/App/Lib/Modules/Users/Exceptions/ConnotCreateUserException.php
composer dump-autoload
4)打开vendor/composer/autoload_psr4.php
只是为了确保它在那里:
return array(
'Lib''' => array($baseDir . '/app/App/Lib'),
);
5)添加这一切在我的routes.php
文件:
App::error(function(Exception $exception, $code)
{
Log::error($exception);
});
App::error(function(Lib'Modules'Users'Exceptions'ConnotCreateUserException $exception){
return 'Sorry! Something is wrong with this account!';
});
Route::get('/', function()
{
throw new Lib'Modules'Users'Exceptions'ConnotCreateUserException("We should not get this message!", 1);
});
6):
http://server.dev/
得到了信息
Sorry! Something is wrong with this account!