関数処理関数編 その7
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「関数処理関数編 その7」を公開しました。
前回に引き続き「関数名を文字列で渡すとなんか関数が呼べるっぽい」コールバック機能の実例を。
set_error_handler() 関数は、実際わりとよく使われるところですね。
「エラーが起きた時に、任意で処理をしたい」なんて時に、こちらを使います。
function test_error_func($errno, $errstr, $errfile, $errline, $errcontext) {
echo “in to test_error_func\n”;
var_dump($errno);
var_dump($errstr);
var_dump($errfile);
var_dump($errline);
var_dump($errcontext);
}
set_error_handler(‘test_error_func’);
//
printf(“test6 %d %s %f\n”);
最後のprintfは、Warningのエラーを発生させるためのコードです。
実行するとわかりますが、 test_error_func() が呼ばれた形跡が見て取れるのではないか、と思います。
ちなみに近しいところで「例外が try/catch ブロックの中でキャッチされなかった場合の
デフォルトの例外ハンドラを設定」できる、set_exception_handler() ってのもあります。
throw new Exception(‘test’);
だとデフォルトの例外ハンドラが動きますが、set_exception_handler() で設定をするとこんな風になります。
この続きは以下をご覧ください
http://resocia.jp/column/1420/
ソーシャルもやってます!