タグ

例外に関するorenonihongogayabaiのブックマーク (4)

  • PHPにおける例外クラスの設計考察

    この記事はPHP Advent Calendar 2017の2日目です。 ここ最近、業のほうが死ぬほど忙しく、すっかりブログを書いていなかった@Hirakuです。 だいぶ前のことですが、今年のPHPカンファレンス福岡で例外の話をしてきました。 この時の発表では例外に関する概要が主だったので、例外クラスそのものの設計について補足を書いてみることにします。 例外のある世界観 PHP7ではいくつかのエラーが例外と同じ挙動を示すようになり、エラーではなく例外機構を使う言語に様変わりしました。 例外というのは、かなり侵略性の高い概念であり、例外のある世界では以下の前提に立つことが暗黙のうちに強要されます。 どこでも例外が発生する可能性がある 例外によって中断されても、ソフトウェアが不適切な状態にならないように保証するのは各プログラマの責任(例外安全) たとえば、以下の関数で例外が発生する可能性があ

    PHPにおける例外クラスの設計考察
  • cohakim's blog » [CakePHP]業務システム用にエラーハンドリングを実装するまとめ

    概要 rails でいう rescue_from。 各コントローラで発生し処理されなかった例外を、 AppController で一括で補足して独自の例外処理を行うためのメモ。 ポイント エラーハンドリングの方針を決める 例外ハンドラをオーバーライドして独自の例外処理を定義できるようにする データベースへの問い合わせに失敗した場合、例外を投げてログにエラーメッセージを記録する プロダクションモードで例外ハンドラが正常に動作しない対策を行う エラーハンドリングの方針を決める 基的に復帰できない例外をハンドリングするために使用します。(必要であるなら)エラーメッセージをログに記録し、汎用的なエラー画面を出力するというのが主な機能です。 画面に出力するエラーメッセージは、小規模な業務システムを想定し、以下のようなポリシーにします。 生のエラーメッセージを出さない。 復帰できないエラーであること

  • [CakePHP] 例外時のレイアウトファイル変更 | HAPPY*TRAP

    CakePHPで例外を投げた時のレイアウトファイルを変更する方法です。 やり方はいろいろあると思いますが、今回は、ExceptionRendererクラスのサブクラスAppExceptionRendererを新規に作成して、出力時にレイアウトファイルを変更してみます。 app/Lib/Error/AppExceptionRenderer.php1 2 3 4 5 6 7 8 <?php App::uses('ExceptionRenderer', 'Error'); class AppExceptionRenderer extends ExceptionRenderer { protected function _outputMessage($template) { $this->controller->layout = 'custom'; // ここでレイアウトファイルを指定

  • http://hiromi2424.lv9.org/translate/cakephp20/20-exceptions-errors

  • 1