タグ

exceptionとphpに関するshimookaのブックマーク (5)

  • 扱いづらいPHPのエラー処理を適当にいなす - uzullaがブログ

    追記 この記事のやり方でもいいっちゃいいのですが、PHP7以降では"set_error_handler"でエラーを例外に変換せず、"Error"例外を直接キャッチするほうがよりスマートだと思います。 PHP: PHP 7 でのエラー - Manual なので「例外でキャッチできないエラーがある」というのがほぼなくなった感じですね。 (ただし、"Error"は"Exception"と兄弟関係なので、全部キャッチするつもりのcatch(\Exception $e)ではキャッチできない事に注意。) 追記終わり。 PHPはエラーが扱いづらい いきなりですけど、PHPはエラーが扱いづらい言語だと思います。(おっと、最初の行からPHP Disだ、ブクマが稼げる) 「サーバーにPHPをアップロードして、ブラウザで試行錯誤する」というスタイルを実現するために、なにかあってもInternal Server

    扱いづらいPHPのエラー処理を適当にいなす - uzullaがブログ
  • PHPの例外 - Qiita

    定義済み例外と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の例外 - Qiita
  • PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita

    PHP は各種プログラム言語の中でも比較的高級な (表現力が豊かで最適な記述を選ぶのに知識を必要とする) 例外モデルを持っていると言えます。そんな PHP の例外の各区分とその使い分けを整理し、PHP の例外モデルの設計意図を考察したいと思います。 PHP例外の分類 PHP の例外は Java とは異なり、(Error を合わせると) 合計 4 つの区分に分類されます。Java には 2 区分しかありません。(PHP では JavaError に相当するものは発生しません。PHPError は Java では RuntimeException の一種に分類されています) PHP Java

    PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita
  • PHP7調査(23)致命的エラーが例外としてキャッチできるようになった - Qiita

    (2015/07/02追記:PHP 7.0.0alpha2に合わせて修正しました) PHPのエラーは、エラー文言を表示するだけの警告・注意と、その場で処理を終了してしまう致命的エラー(fatal error)の2種類に大別できます。 ところで、PHP5の致命的エラーには不便な点があります。それは、set_error_handler()やその他の方法でエラーハンドリングできず、必ず終了してしまう点です。これでは致命的エラーをユニットテストするのも不便ですし、ReactPHPのようにサーバ動作させるようなプログラムも安心して使えません。 PHP7では致命的エラーが例外として実現されるようになり、エラーハンドリングの自由度が格段に上がりました。この変更の概要を紹介します。 例外のクラス階層の変更 まず、PHP7で例外クラスの階層がどう変わるかを説明します。PHP5までの例外のクラス階層は次のよう

    PHP7調査(23)致命的エラーが例外としてキャッチできるようになった - Qiita
  • How to use built-in SPL exception classes for better error handling | CodeUtopia

    Since PHP 5, there has been a bundle of built-in exceptions – the “SPL exceptions” – in PHP. However, the documentation for these classes is quite lacking in examples, and it can be difficult to understand when you should be using them. The short answer is always. You’ll find a longer answer if you continue reading :) There is also a french translation of this post, by Frédéric Blanc. What are the

  • 1