PHP的错误处理和异常处理
2018-06-22 05:38:07来源:未知 阅读 ()
由于教程是围绕着文件打开做的错误处理,所以先记录几个用于文件处理的一些函数,fopen 用于打开一个文件;file_exists 用于检查目录是否存在;fclose( $变量 )用于指定关闭打开的文件;
PHP处理错误的几种方式:die()语句;自定义错误和错误触发器;错误日志;
die()语句:
eg :file_exists ( “文件路径/文件名” ) or die( "文件不存在" );
自定义错误处理器(函数)
基本语法:首先定义一个错误函数,然后改写set_error_handler处理器;
error_function( error_level , error_massage, error_file , error_line , error_context);
//这里的error_level , error_massage 是必要的,后面的三个参数是可选的;
set_error_handler( “ 错误函数名 ” , 错误等级);
// eg:fuction my_error( $errno , $errmes ){ //定义错误函数
echo $errno . “错误信息是:” . $errmes ;
}
set_error_handler( "my_error" , E_USER_WARNING );
//这里改写了user_warning的错误处理器,如需要定义其他级别错误需要分别定义错误等级;一般自定义错误处理器都是定义user级别的错误;
$age=200;
if( $age > 120 ){
//调用错误处理器;
trigger_error( " 输入年龄过大 " , E_USER_WARNING); //trigger_error函数默认是NOTICE级别,如有需要必须自定义错误级别;
}
PHP错误日志保存
基本语法:error_log( 错误信息 ,destination_type , " 错误日志保存位置及文件名 " );
date_default_timezone_set( “ Asia/ChongQing ” ); //这里定义一个时区,后面的错误信息插入时间方便日后阅读错误日志;也可在php.ini中更改默认设置date.timezone选项;
// eg:fuction my_error( $errno , $errmes ){ //定义错误函数
$error_info = $errno . “错误信息是:” . $errmes ;
error_log( " 时间是 " . date( " Y - m - d G - i - s " ) $error_info ." \r\n " , 3 , "XXX.txt" ); // \r\n是txt文件里的换行符,destination_type 这里大多数情况下使用3追加记录日志模式;
}
PHP中的异常处理
基本语法:
try{
可能出现的错误的代码;
}catch( Excepion $e ){
1.自己处理;2.自己不处理,抛出;
}
throw new Excepion( “异常信息提示” ); // throw用于抛出异常;
当捕获到一个异常以后,try()块里的代码将不再继续执行;
catch( Excepion $e ){
//这里可以使用函数调用错误信息,行号,异常代码等等,详细参数如下图所示;
echo $e -> getMessage() ;
}
当异常继续被抛出,而又没有catch接受异常,PHP会调用默认的顶级异常处理器,顶级异常处理器也可以自定义;
function my_exception( $e ){ //自定义顶级异常处理器函数
echo 错误信息 . $e -> getMessage(); //也可以使用上图其他函数;
}
set_exception_handler( " 顶级异常处理器函数名 " ) ; //修改默认顶级处理器(函数)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash