2014-04-30 60 views
-1

後,當我試圖在Laravel 4使用app::abort($code),出現以下錯誤:錯誤異常處理程序後::中止()的應用程序過濾器

錯誤異常處理程序:在... \供應商\ laravel \框架的\ src \照亮\基金會\ Application.php:875

該應用程序後::過濾器簡單地調用app::abort(401)

App::after(function($request, $response) 
{ 
    app::abort(401); 
}); 

這又放在這裏:

App::error(function(Exception $exception, $code) 
{ 
    if($code === 403) 
    { 
     return Error::forbidden(); 
    } 

    elseif($code === 401) 
    { 
     return Error::unauthorized(); 
    } 

    Log::error($exception); 
}); 

打電話給我的錯誤類

class Error 
{ 
    public static function notFound() 
    { 
     return static::dispatch('/errors/not-found'); 
    } 

    public static function forbidden() 
    { 
     return static::dispatch('/errors/forbidden'); 
    } 

    public static function unauthorized() 
    { 
     return static::dispatch('/errors/unauthorized'); 
    } 

    private static function dispatch($url) 
    { 
     return Route::dispatch(Request::create($url))->getContent(); 
    } 
} 

與路線,簡單地調用控制器,只設置一個標題和版面上的內容。

這一切都很順利,直到請求完成。

laravel論壇上的一篇文章指出了數據庫錯誤。我非常懷疑這一點,因爲所有的錯誤都會導致同樣的情況,並且按原樣調用時,它可以正常工作。

試圖用作曲家更新並沒有真正做任何事情,使用工匠和作曲家傾銷自動加載也沒有工作。

有人碰巧知道爲什麼會發生此錯誤,並可能如何解決它?

回答

-2

要求在SO聊天,改變===後following comment後==解決了這個問題:

App::error(function(Exception $exception, $code) 
{ 
    if($code == 403) 
    { 
     return Error::forbidden(); 
    } 

    elseif($code == 401) 
    { 
     return Error::unauthorized(); 
    } 

    Log::error($exception); 
}) 
相關問題