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事件處理
