Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 2.56 KB

error.md

File metadata and controls

59 lines (43 loc) · 2.56 KB

エラー

戻る

コンテンツ

イントロダクション

例外が発生した時、Basolatoフレームワークはそれをキャッチし、例外型が持つステータスのレスポンスをクライアントへ返します。

raise newException(Error403, "session timeout")

この場合は403ステータスコードで、「session timeout」がボディに入っているレスポンスを返します。

Basolatoは300から505までの全てのレスポンスステータスの例外型を持っています。

HTTPステータスコード一覧

例外発生させながらリダイレクトさせたい時

もし例外が発生した時に同時にリダイレクトさせたい時は、errorRedirect関数を使ってください。 この関数はコントローラーの中でのみ使えます。

return errorRedirect("/login")

コントローラー以外では、ErrorRedirectエラーを発生させてください。

raise newException(ErrorRedirect, "/login")

独自のエラーページを表示するには

Basolatoは専用のエラーページを持っています。しかしapp/http/views/errors/{http code}.htmlの形式に沿ってファイルを作ることで、独自のエラーページを表示させることもできます。
もしHTTPステータスコードと一致するHTMLファイルが存在せず、かつerror.htmlが存在する場合は、error.htmlが表示されます。

・優先順位
{http code}.html > error.html > Basolato独自のエラーページ

この機能は本番環境(コンパイルオプションに-d:releaseを付けた時)のみ有効になります。
開発環境では常にフレームワーク独自のエラーページが表示されます。

└── views
    └── errors
        ├── 404.html # ユーザーオリジナルエラーページ
        ├── 500.html # ユーザーオリジナルエラーページ
        └── error.html # ユーザーオリジナルエラーページ