ƵµÀÖ±´ï - רÌâ - ÐÂÎÅ - »ù´¡ - ¸ß¼¶ - °²×° - ¼¼ÇÉ - Êý¾Ý¿â - ÊÖ²á - PHP - Linux - Java - MySQL - Apache - ÂéÀ±Ìà - ÀÇÃË - RailsÉçȺ - ËÑË÷ - ÏÂÔØ - ¿ªÔ´ - ÂÛ̳
PHP¿ª·¢×ÊÔ´Íø Ö÷Ò³>PHP»ù´¡½Ì³Ì> ÊղشËÎÄ | Êղر¾Õ¾ | ÉèΪÊ×Ò³
ÓÅ¿áϲ¾çƬ, ÕÐÉ̼ÓÃË Ñ¸À׿´¿´, ´«ÆæÊÀ½ç ´«ÊÀ˽·þ ÌìÁú°Ë²¿ÐÂÆ·ÉÏÊÐÓªÏú²ß»® ħÊÞÊÀ½ç

ÓÃphpдÁËÒ»¸ö´íÎó´¦ÀíÀà

À´Ô´:www.phpres.com ×÷ÕߣºAngelover ³ö´¦£ºwww.phpres.com 2008-6-28 10:12:44 ½øÈëÌÖÂÛ×é
¹Ø ¼ü ´Ê£º ´¦Àí ´íÎó Ò»¸ö error self:: errno array ²¶»ñ errfile

PHP µÄ try - catch ×ÜÓкܶණÎ÷×¥²»×¡¡£ÎÒ»¹ÊÇ×Ô¼ºÐ´ÁËÒ»¸ö¡£

<?php
/**
* ´íÎó´¦ÀíÀà
*
* Ó÷¨£º
* ErrorHandler::begin();
* //Òª²¶»ñ´íÎóµÄ´úÂë
* $errors = ErrorHandler::end();
* ¿ÉÒÔǶÌ×ʹÓá£
*
* ±¾ÀàÖ»²¶»ñ´íÎ󣬲»²¶»ñÒì³£¡£ÈçÐè²¶»ñÒì³££¬ÇëʹÓÃtry-catch¡£
*
*
* @author XieZhenye
*/
class ErrorHandler{
    private static $error = array();
    function begin(){
        set_error_handler(array(__CLASS__, '_errorHandler'));
        array_push(self::$error, array());
    }

    function _errorHandler($errno, $errstr, $errfile, $errline){
        if($errno == E_STRICT)
            return;
        
        $errInfo = array('errno'=>$errno, 'errstr'=>$errstr,
                    'errfile'=>$errfile, 'errline'=>$errline);
        
        array_push(self::$error[count(self::$error)-1], $errInfo);
    }

    function end(){
        restore_error_handler();
        $ret = end(self::$error);
        array_pop(self::$error);
        return $ret;
    }
}

?>»¶Ó­½øÈëPHP¿ª·¢×ÊÔ´ÂÛ̳ÌÖÂÛ¡£
¡¾ÊղشËÎÄ¡¿¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿¡¾¹Ø±Õ¡¿
Ïà¹ØÎÄÕÂ
ͼÎÄÍÆ¼ö
ÂÛ Ì³ ×Ê Ô´
PHP¿ª·¢×ÊÔ´Íø·Ü¶·Ä¿±ê
ÔĶÁÅÅÐУº
ÈÈÃż¼ÊõÎĵµ
×îÐÂͼÎĵµ
±¾Õ¾±à¼­ÍƼö:(±¾Õ¾¿ªÍ¨Delphi4PHP×¨Çø£¬»¶Ó­½øÈëÂÛ̳½»Á÷£¡)
±à¼©×î½ü¸üÐÂÎÄÕÂ
ÍøÕ¾ÔÞÖúÉÌ
ËÑË÷Äú¸ÐÐËȤµÄÄÚÈÝ
 
  ¡¡ÍøÕ¾Ê×Ò³¡¡- ¡¡ÍøÕ¾µØÍ¼¡¡- ¡¡ÍøÕ¾ºÏ×÷¡¡- ¡¡ÊÖ²áÖÐÐÄ¡¡- ¡¡Í¨ÓÃÍøÖ·¡¡- ¡¡ÍøÕ¾ÂÛ̳¡¡- ¡¡ÍøÕ¾Í¶¸å¡¡- ¡¡ÓÑÇéÁ´½Ó¡¡- ¡¡°ïÖúÖÐÐÄ
°æÈ¨ËùÓУºPHP¿ª·¢×ÊÔ´Íø © 2003-2008 ͨÓÃÍøÖ·:PHP×ÊÔ´Íø ºÏ×÷ýÌå: ÈüµÏÍøIT¼¼Êõ
»¥ÁªÍøÎ¥·¨ºÍ²»Á¼ÐÅÏ¢¾Ù±¨ÖÐÐÄ | ²»Á¼ÐÅÏ¢¾Ù±¨ÐÅÏä