簡體   English   中英

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”異常類型處理。

提前致謝

代碼看起來不錯,我對其進行了一些測試,並且對我有用,只需通過執行以下操作確保名稱空間已正確加載:

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

3)執行

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!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM