Go beyond crash reporting, error tracking, logging and error monitoring. Get instant and accurate alerts — plus a real-time feed — of all errors, including unhandled exceptions. Our automation-grade grouping uses machine learning to reduce noise and gives you error signals you can trust. A better way to discover errors Instantly see the impact of crashes and errors with metadata — like which custo
PHPカンファレンス福岡2017の登壇資料です。
定義済み例外とSPL例外 PHPにはPHP本体が持つ定義済み例外とPHPに標準でバンドルされるStandard PHP Library(SPL)の例外のSPL例外の2種類の例外があります。SPLは標準で組み込まれるのでPHPの機能として標準的に使うことも可能ですが、マニュアルでも個別のページを持っています。 定義済み例外 SPL例外 SPL例外 SPLの作者はPDOなど多数のパッケーのleadを務められているMarcus Börgerさんです。(PECLサイト参照 https://pecl.php.net/user/helly) MarcusさんがSPLのために作成したスライドStandard PHP Libraryから例外の部分を2つ抜粋します。 「守るべき3つのルール」 例外は例外の時に使用する (Exceptions are exceptions) 制御構造のために例外を用いない (
PHP は各種プログラム言語の中でも比較的高級な (表現力が豊かで最適な記述を選ぶのに知識を必要とする) 例外モデルを持っていると言えます。そんな PHP の例外の各区分とその使い分けを整理し、PHP の例外モデルの設計意図を考察したいと思います。 PHP例外の分類 PHP の例外は Java とは異なり、(Error を合わせると) 合計 4 つの区分に分類されます。Java には 2 区分しかありません。(PHP では Java の Error に相当するものは発生しません。PHP の Error は Java では RuntimeException の一種に分類されています) PHP Java
例外の作成にめんどくさい手続きが必要なとき。例えば、HTTP のレスポンスオブジェクトを元に例外を作成するときとか。 <?php $message = sprintf( "HTTP/%s %s %s", $response->getVersion(), $response->getCode(), $response->getMessage() ); throw new HttpException($message, $response->getCode()); そういうときはそれようのメソッドを作ると便利です。 このとき、例外を作成して投げるメソッド と 例外を作成して返すメソッド の2通りの実装方法が考えられます。例えば下記の raise と create です。 <?php class HttpException extends \Exception { /** * 例外を作成して投げ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く