タグ

PHPと例外に関するkei_yam1209のブックマーク (4)

  • Standard PHP Libraryの例外クラスを活用しよう!

    はじめに 今回はPHPでの例外の扱い方、特にSPL (Standard PHP Library)の例外クラスの使い方を見ていきます。例外を投げる際には、エラー種別により例外クラスを切り替え、受け取る側での処理も分けます。Javaなどではごく当たり前です。しかし、PHPプログラマの中には、そこまで切り分けない人も意外といます。Exceptionクラスだらけのコードもしばしば見かけます。 SPLの例外クラス アプリケーションによっては、例外クラスを独自に作成することもあります。とはいえ、いきなり例外クラスを複数定義して使いまわすことは、若干ハードルが高いかもしれません。まずは、SPL (Standard PHP Library)の例外クラスを使ってみましょう。SPLでは以下の例外クラスを提供しています。 SPL 例外クラスツリー LogicException (extends Exceptio

  • 例外を使う - Do You PHP はてブロ

    via. http://d.hatena.ne.jp/uratch/20100303/1267587165、2010-03-18 - ます’s Diary - どうでもいい事100選 前のエントリにも続きますが、Javaっぽく書くのであれば、例外を使うのもそうかもしれません。 一番のメリットが、ロジックの中にCライク(?)な"戻り値が0だったら〜、そうじゃなかったら〜"みたいな処理を書かなくて済むのと、例外をcatchする箇所を絞って、エラー処理をまとめて書ける事じゃないかと思います。 たとえば、"DBに繋いでデータを取得するコード"を考えてみます。例外を使わない場合は次のようなコード。 <?php $conn = oci_connect("scott", "tiger", $db); if ($conn === false) { // エラー処理 } $stmt = oci_parse(

    例外を使う - Do You PHP はてブロ
  • PHP5、PHPエラーを例外(Exception)へ変換 - goungoun技術系雑記帳

    ネタ元は↓こちら。 【Alex@Net】try/catch構文を用いてPHPコアで注意や警告を扱う方法 - PHPプロ!ニュース: http://www.phppro.jp/news/185 PHP5で例外(Exception)が使えるようになった。 PHPエラー(NOTICEとか)を例外へ変換することで、PHPに関する全てのエラーを 例外として扱うことができる。 ネタ元では、PHPエラーが発生したファイル名、行番号を Exception へ変換する処理が無いので、これを実装することを考えてみた。 流れは次の通り。 PHPエラー ↓ PHPエラーハンドラへ ↓ PHPエラーを MyException に変換して throw 以下参照しました。 PHP: 例外(exceptions) - Manual: http://jp.php.net/manual/ja/language.excepti

  • PHPの組み込み関数で例外を発生させる方法

    このエントリではPHPの組み込み関数でエラー時に例外を発生させる方法を紹介します。デフォルト状態では、PHPの組み込み関数の大半はエラー時に例外を発生させません。 前のエントリで、PHPのheader関数は戻り値を返さず、エラー時に例外も発生させないことを紹介しました。これは酷い仕様だと思うのですが、どうすればエラーハンドリングできるかを考えてみました。 header関数の場合、エラー(警告)そのものは出ているので、以下の二つの方法が候補として考えられます。 error_get_last関数で直近のエラーを取得してエラー処理する set_error_handlerで定義したエラーハンドラ関数でエラー処理する どちらもモダンな書き方とはほど遠い感じです。 前者は、BASICのon error resume nextを連想させますし、直近のエラーがどの箇所で起こったかは簡単には識別できないので

  • 1