PHP处理错误的方式:
1.简单的die()语句:die1.php 中的两种语法方式
2.自定义错误和错误触发器 error2.php
错误处理器(处理系统错误):自定义函数来处理错误,错误在PHP中对错误有级别区分
错误触发器(处理逻辑上的错误):假如有一段代码,它是来接收年龄,如果认为年龄大于120,就认为是一个错误:error3.php
3.错误日志
- 简单的die()语句:die1.php
<?php
//***************die的使用方式
if (!file_exists(aaa.txt)){
die("文件不存在");
}else {
//打开文件
}
//或者这样用
file_exists(aaa.txt) or die("文件不存在!!!");
echo "ok";
—————————————————————————————
- 自定义错误和错误触发器:error2.php
<?php
//模拟出错
//没有分号:Parse error: syntax error, unexpected '$i' (T_VARIABLE)
//$i=60
//$i=$i+45;
//echo $i;
//文件打开错误:Warning: fopen(aaatxt): failed to open stream
//warning错误,代码会继续执行
//$fp=fopen(aaa.txt, r);
//echo "ok";
//定义了一个函数
//回显效果: 错误号是:2
// 错误信息:fopen(aaatxt): failed to open stream: No such file or directory
function my_error($errorNo,$errorMSG){
echo "错误号是:$errorNo".'<br>';
echo "错误信息:$errorMSG";
exit();
}
set_error_handler("my_error",E_WARNING);
$fp=fopen(aaa.txt, r);
————————————————————————
- 错误日志&错误触发器:error3.php
<?php
//自定义错误函数
function my_error1($errorNo, $errorMSG){
$err_info="错误号.$errorNo";
echo $err_info;
//保存错误信息
error_log($err_info."\n\r",3,"my_err.txt");
}
//指定错误级别,保存相对路径
set_error_handler("my_error1",E_USER_WARNING);
$age=700;
if ($age>100){
//调用触发器,同时指定错误级别
trigger_error("年龄过大,无效",E_USER_WARNING);
//exit();
}
——————————————————————