phpでerror_handler設定
phpにてerror_handlerを使用した時のメモ
error_handlerは実行時にエラーが発生した時の処理を指定できる。
trigger_errorで投げたエラーに対する処理とか。
マニュアル->http://php.net/manual/ja/function.set-error-handler.php
定義済みエラー番号(マニュアル)->http://www.php.net/manual/ja/errorfunc.constants.php
*php-version:5.1.6*
[errorhandler.php]
<?php // error_handler設定処理 // error発生時の処理を指定 function error_handler($error_no, $error_msg, $error_file, $error_line) { print $error_no; switch ($error_no) { case E_WARNING : print "[$error_no]E_WARNING $error_msg\n"; break; case E_NOTICE: print "[$error_no]E_NOTICE $error_msg\n"; break; case E_USER_ERROR: print "[$error_no]E_USER_ERROR $error_msg\n"; break; default: print "[$error_no]DEFAULT $error_msg\n"; } } // error_handler設定 set_error_handler('error_handler'); // E_WARNING発生 $i=5/0; // E_USER_ERROR発生 trigger_error("error E_USER_ERROR", E_USER_ERROR); ?>
マニュアルにもあるが[E_ERROR][E_PARSE]などハンドリングできないエラーがあるので確認して使う。