if($age>120){
//trigger_error('
错误信息'[,'
错误等级']);这里
错误等级为可选项,用于定义该
错误的级别
//
用户定义的级别包含以下三种:E_USER_WARNING 、E_USER_ERROR 、E_USER_NOTICE
trigger_error('年龄
错误');//这里是
调用的系统默认的
错误处理方式,我们也可以用
自定义处理器
}
//
自定义处理器,与上面相同
function myerror($error_level,$error_message){
echo 'error text';
}
//同时需要改变系统默认的处理
函数 set_error_handler('myerror',E_USER_WARNING);//同上面,第一个参数为
自定义函数的
名称,第二个为
错误级别【这里的
错误级别通常为以下三种:E_USER_WARNING 、E_USER_ERROR 、E_USER_NOTICE】
//现在再使用trigger_error就可以使用
自定义的
错误处理
函数了
403">
PHP date_default_timezone_set('PRC');
function myerror($error_level,$error_message){
$info= "
错误号:$error_level\n";
$info.= "
错误信息:$error_message\n";
$info.= '发生时间:'.date('Y-m-d H:i:s');
$filename='aa.txt';
if(!$fp=fopen($filename,'a')){
'创建
文件'.$filename.'失败';
}
if(is_writeable($filename)){
if(!fwrite($fp,$info)){
echo '写入
文件失败';
} else {
echo '已成功记录
错误信息';
}
fclose($fp);
} else {
echo '
文件'.$filename.'不可写';
}
exit();
}
set_error_handler('myerror',E_WARNING);
$fp=fopen('aaa.txt','r');
?>
PHP //创建可抛出一个异常的
函数 function checkNum($number){
if($number>1){
throw new Exception("Value must be 1 or below");
}
return true;
}
//在 "try"
代码块中触发异常
try{
checkNum(2);
//如果异常被抛出,那么下面一行
代码将不会被
输出 echo 'If you see this,the number is 1 or below';
}catch(Exception $e){
//捕获异常
echo 'Message: ' .$e->getMessage();
}
?>
//设置一个顶级异常处理器
function myexception($e){
echo 'this is top exception';
} //
修改默认的异常处理器
set_exception_handler("myexception");
try{
$i=5;
if($i<10){
throw new exception('$i must greater than 10');
}
}catch(Exception $e){
//处理异常
echo $e->getMessage().'
';
//不处理异常,继续抛出
throw new exception('errorinfo'); //也可以用throw $e 保留原
错误信息;
}
try{
$i=5;
if($i>0){
throw new customException('error message');//使用
自定义异常类处理
} if($i<-10){
throw new exception('error2');//使用系统默认异常处理
}
}catch(customException $e){
echo $e->getMessage();
}catch(Exception $e1){
echo $e1->getMessage();
}