Slim3でのエラーハンドリング | sola's note

sola's note

日ごろのメモを書いていきます。何か新しいものを作るために。

作成しているWebサイトも、
そろそろそれなりに出来てきているなというところ。

それなりにバグも潰して、エラーが出なくなってきたものの、
ゼロにはならないんだよね。

そんな時、今のままだとエラーが送出された時に
爽快(?)にエラーのスタックトレースが表示される。

これはなんとかしなきゃなーというところで、
Slim3ではrunメソッドでデフォルトでthrows Exceptionをしているので、
こいつを何とかしようというところ。

調べてみると、
handleErrorというメソッドを@Overrideすると、
画面にエラーが表示されるのを避けられるみたい。

とても参考になったところで
あおうさ@日記さんのページ
http://d.hatena.ne.jp/bluerabbit/20090606/1244301504

ここを見れば大体OKじゃないかな。
難しい事がよくわからなかったら、
とりあえずエラーハンドリングしたいControllerクラスに

@Override
protected Navigation handleError(Throwable error) {
    return redirect("/");
}

と書いておけばエラー時にルートのページに遷移するようになる。