写了一个错误处理类

PHP 的 try – catch 总有很多东西抓不住。我还是自己写了一个。

/**
* 错误处理类
*
* 用法:
* 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;
    }
}

?>

4 thoughts on “写了一个错误处理类

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.