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;
}
}
?>
没有评论:
发表评论