PHP set_error_handler() º¯Êý
ʵÀý
ͨ¹ý set_error_handler() º¯ÊýÉèÖÃÓû§×Ô¶¨ÒåµÄ´íÎó´¦Àí³ÌÐò£¬È»ºó´¥·¢´íÎó£¨Í¨¹ý trigger_error()£©:
<?php // Óû§¶¨ÒåµÄ´íÎó´¦Àíº¯Êý function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br>"; echo " Error on line $errline in $errfile<br>"; } // ÉèÖÃÓû§¶¨ÒåµÄ´íÎó´¦Àíº¯Êý set_error_handler("myErrorHandler"); $test=2; // ´¥·¢´íÎó if ($test>1) { trigger_error("A custom error has been triggered"); } ?>
ÒÔÉÏ´úÂëµÄÊä³öÀàËÆÕâÑù£º
Custom error: [1024] A custom error has been triggered Error on line 14 in C:\webfolder\test.php
¶¨ÒåºÍÓ÷¨
set_error_handler() º¯ÊýÉèÖÃÓû§¶¨ÒåµÄ´íÎó´¦Àíº¯Êý¡£
×¢ÊÍ£ºÈç¹ûʹÓøú¯Êý£¬»áÈÆ¹ý±ê×¼ PHP ´íÎó´¦Àí³ÌÐò£¬Í¬Ê±Èç¹û±ØÒª£¬Óû§¶¨Òå´íÎó³ÌÐòͨ¹ý die() ÖÕÖ¹½Å±¾¡£
×¢ÊÍ£ºÈç¹û´íÎó·¢ÉúÔڽű¾Ö´ÐÐ֮ǰ£¨±ÈÈçÎļþÉÏ´«Ê±£©£¬½«²»»áµ÷ÓÃ×Ô¶¨ÒåµÄ´íÎó´¦Àí³ÌÐòÒòΪËüÉÐδÔÚÄÇʱע²á¡£
Óï·¨
set_error_handler(errorhandler,E_ALL|E_STRICT);
| ²ÎÊý | ÃèÊö |
|---|---|
| errorhandler | ±ØÐè¡£¹æ¶¨Óû§´íÎó´¦Àíº¯ÊýµÄÃû³Æ¡£ |
| E_ALL|E_STRICT | ¿ÉÑ¡¡£¹æ¶¨ÏÔʾºÎÖÖ´íÎ󱨸漶±ðµÄÓû§¶¨Òå´íÎó¡£Ä¬ÈÏÊÇ "E_ALL"¡£ |
¼¼Êõϸ½Ú
| ·µ»ØÖµ£º | °üº¬Ö®Ç°¶¨ÒåµÄ´íÎó´¦Àí³ÌÐòµÄ×Ö·û´®¡£ |
|---|---|
| PHP °æ±¾£º | 4.0.1+ |
| PHP ¸üÐÂÈÕÖ¾£º |
PHP 5.5£º²ÎÊý errorhandler ÏÖÔÚ½ÓÊÜ NULL PHP 5.2: ´íÎó´¦Àí³ÌÐò±ØÐë·µ»Ø FALSE À´ÏÔʾ $php_errormsg¡£ |