Laravel所有的異常是由 app\Exceptions\Handler 類來處理。 這個類包含兩個方法 - report 和 render。
report()方法
report() 方法用於報告或記錄異常。 它也可以用來發送日誌例外類似 Sentry, Bugsnag 等外部擴展服務
render()方法
render() 方法用來呈現異常到HTTP回應送回流覽器。
除了這兩種方法,app\Exceptions\Handler 類包含一個一個重要屬性名為 “$dontReport”。此屬性採用的異常類型數組將不會被日誌記錄。
HTTP例外
一些異常描述HTTP錯誤代碼類似:404,500等。要在應用程式中的任何地方產生這樣回應,你可以按如下方式使用abort()方法。
abort(404)
自定義錯誤頁
Laravel使得讓我們很容易使用每個單獨的錯誤代碼來自定義錯誤頁。 例如,如果想設計的自定義頁面錯誤代碼:404, 你可以創建一個視圖為 :resources/views/errors/404.blade.php。同樣的道理,如果你想設計錯誤代碼是500的錯誤頁,它應存放在:resources/views/errors/500.blade.php.
示例
第1步 - 添加以下行到檔 : app/Http/routes.php
Route::get('/error',function(){ abort(404); });
第2步 - 創建一個名為 resources/views/errors/404.blade.php 的視圖檔,並複製下麵的代碼到此檔中。
resources/views/errors/404.blade.php
<!DOCTYPE html> <html> <head> <title>404頁面</title> <link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet" type = "text/css"> <style> html, body { height: 100%; } body { margin: 0; padding: 0; width: 100%; color: #B0BEC5; display: table; font-weight: 100; 'Lato'; } .container { text-align: center; display: table-cell; vertical-align: middle; } .content { text-align: center; display: inline-block; } .title { font-size: 72px; margin-bottom: 40px; } </style> </head> <body> <div class = "container"> <div class = "content"> <div class = "title">404 錯誤</div> </div> </div> </body> </html>
第3步 - 訪問以下網址測試事件。
http://localhost:8000/error
第4步 - 訪問URL後,您會看到以下輸出 -


上一篇:
Laravel Ajax
下一篇:
Laravel事件處理