【问题标题】:laravel custom exception handlinglaravel 自定义异常处理
【发布时间】:2015-07-01 17:15:29
【问题描述】:

我是 Laravel 框架的新手。我需要添加一个自定义异常错误处理程序。我尝试将以下代码添加到我的global.php 文件中:

App::error(function(CustomException $exception, $code)
{
echo 'Debug: CustomException<br/>';
});

为了抛出这个错误,我在我的一个控制器中使用了以下代码:

throw new CustomException();

但我收到错误,因为未找到 CustomException。

我用谷歌搜索了它的解决方案,但到处都找到了相同的解决方案。

请帮我解决这个问题。

【问题讨论】:

  • 添加以下代码后: App::error(function(InvalidRouteException $exception) { \Log::info('InvalidRouteException'); $code =404; $data = array('codeError' = > $code, 'messageError' => '哎呀,好像出了点问题。'); return \View::make('404')->nest('content', 'error', $data); }) ;我收到错误路由回家未找到异常,我无法看到视图。我需要创建一个自定义页面,我可以在其中看到自定义异常。

标签: php exception laravel laravel-4


【解决方案1】:

您需要先定义您的自定义异常。所以在你的 global.php 文件的顶部,添加这个:

class CustomException extends Exception {}

当然,你可以根据需要给这个类添加自定义的属性和方法。

【讨论】:

    【解决方案2】:

    您可以创建您的类(例如:app/Exceptions/MyCustomException.php),然后添加到 composer.json 自动加载文件。

    "autoload": {
      "files":["app/Exceptions/MyCustomException.php]
    }
    

    然后:运行composer dumpautoload

    现在,您可以使用您的 MyCustomException 类。

    --

    <?php 
    
    class MyCustomException extends \Exception {}
    

    【讨论】:

    • 我更喜欢这种方法,如果您想在应用程序中抛出大量异常,最好将它们放在单独的文件中
    猜你喜欢
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多