PHP错误处理

来源:互联网 发布:matlab 2016a for mac 编辑:程序博客网 时间:2024/05/17 14:20

基本的错误处理:使用die()函数


<?php
if(!file_exists("welcome.txt")){
die("File not found");
}else{
$file=fopen("welcome.txt","r");
}
?>

创建自定义错误处理器


语法:
error_function(error_level,error_message,error_file,error_line,error_context)

参数:
error_level:必需。为用户定义的错误规定错误报告级别。必须是一个值数。
error_message:必需。为用户定义的错误规定错误消息。
error_file:可选。规定错误在其中发生的文件名。
error_line:可选。规定错误发生的行号。
error_context:可选。规定一个数组,包含了当错误发生时在用的每个变量以及它们的值。

创建一个处理错误的函数:


function customError($errno, $errstr){
echo "<b>"Error:</b> [$errno] $errstr<br />";
die();
}

Set Error Handler
set_error_handler("customError") //set_error_handler仅需要一个参数,可以添加第二个参数来规定错误级数。


<?php
//error handler function
function customError($errno, $errstr){
echo "<b>Error:</b> [$errno] $errstr"
}

//set error handler
set_error_handler("customError");

//trigger error
echo($test);

?>


触发错误

在脚本中用户输入数据的位置,当用户的输入无效时触发错误是很有用的。在PHP中,这个任务由trigger_error()完成。



<?php
$test=2;
if($test>1){
trigger_error("value must be 1 or below");
}
?>


错误记录


默认地,根据在php.ini中的error_log配置,PHP向服务端的错误记录系统或文件发送错误记录。通过使用error_log()函数,您可以
向指定的文件或远程目的地发送错误记录。



通过E-Mail发送错误消息


在下面的例子中,如果特定的错误发生,我们将发送带有错误消息的电子邮件,并结束脚板:


<?php 
//error handler function
function customError($errno, $errstr){
echo "<b>Error:</b> [$errno] $errstr<br />";
echo "webmaster has been notified";
echo_log("Error: [$errno] $errstr",1,"someone@example.com","From: webmaster@example.com");
}
//set error handler
set_error_handler("customError", E_USER_WARNING);


//trigger error


$test=2;
if(&test>1){
trigger_error("Value must be 1 or below", E_USER_WARNING);
}
?>
1 0
原创粉丝点击