处理异常在开发php是比较重要的,应为我们不可能完全预知所有的结果,这可以是一种比较缓和的方式,判断错误的方式可以是利用系统定义如使用die(),也可以是自己定义,这里主要还是要说一下自定义错误处理机制。
1:首先要自己定义函数,这个可以根据情况自己而定。
2:然后改变系统错误处理机制。
主要就是这两部,就可以完成了。下面是基础代码:
<?
function my_error($errno,$errmes){
echo "<font color='red' size='5'>$errno</font><br/>";
echo "错误信息是:$errmes";
exit();
}
set_error_handler("my_error",E_WARNING);
$fp = fopen("a.txt","r");
?>
上面是错误处理器,下面是错误触发器。
<?php
function myerror($errno,$errms){
echo "错误号是:".$errno;
/*exit();*/
}
function myerror1($errno,$errms){
echo "严重错误:".$errno;
exit();
}
set_error_handler("myerror",E_USER_WARNING);
set_error_handler("myerror1",E_USER_ERROR);
$age = 700;
if($age >= 300){
trigger_error("您的年龄过大",E_USER_WARNING);
exit();
}
?>
还有就是自己去写错误日志保存错误:
<?php
function myerror($errno,$errms){
/*echo "错误号是:".$errno;*/
$error_info = "错误号是:".$errno."----".$errms;
echo $error_info;
error_log($error_info."\r\n",3,"C:\Users\Xuning\Desktop\myerror.txt"); //错误信息,回车换行,追加,文件名称
exit();
}
function myerror1($errno,$errms){
echo "严重错误:".$errno;
exit();
}
set_error_handler("myerror",E_USER_WARNING);
/*set_error_handler("myerror1",E_USER_ERROR);*/
$age = 700;
if($age >= 300){
trigger_error("您的年龄过大",E_USER_WARNING);
exit();
}
?>