Laravel处理异常


Laravel handling exception

我刚刚进入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!