2008年11月6日星期四

php错误处理类

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;
}
}

?>

没有评论:

发表评论

网站统计