PHP的错误处理和异常处理
由于教程是围绕着文件打开做的错误处理,所以先记录几个用于文件处理的一些函数,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( " 顶级异常处理器函数名 " ) ; //修改默认顶级处理器(函数)

PHP的错误处理和异常处理的更多相关文章
- [python]错误检测及异常处理try-except
1. 简介 要给代码添加错误检测及异常处理,只需要将其封装在try-except中. try:通常的代码 except:处理错误和异常的代码 2. 示例 import os try: path = ' ...
- PHP中的错误处理、异常处理机制详解
在编写PHP程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); / ...
- PHP基础之 错误处理 及 异常处理
错误处理: 1.使用die()方法,结束语句的执行,并输出错误消息 2.自定义错误和错误触发器 自定义错误处理函数(系统有默认的错误处理函数,自定义的错误处理会覆盖默认的处理函数) ========= ...
- PHP中的错误处理和异常处理
错误处理: 1.语法错误 2.运行时的错误 3.逻辑错误 错误报告: 错误E_ERROR 警告E_WARNING 注意E_NOTICE 开发 ...
- PHP错误处理及异常处理笔记
给新人总结一下PHP的错误处理. PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样,你就可以根据自己的需要,来更改和加强错误输出信息以满足实 ...
- php错误处理和异常处理
PHP错误处理有两种:标准的错误处理和异常(OOP语法新出现的错误处理机制)
- java程序错误类型及异常处理
一.程序的错误类型 在程序设计中,无论规模是大是小,错误总是难免的.程序的设计很少有能够一次完成,没有错误的(不是指HelloWorld这样的程序,而是要实现一定的功能,具备一定实用价值的程序),在编 ...
- python的错误类型和异常处理
# isinstance() # 判断实例a是否属于类b # issubclass() # 判断类a是否为类b的派生类 # 异常处理 try: pass #Exception是错误类型,能catch到 ...
- 一,php的错误处理和异常处理
php程序中如果语法或逻辑错误,会引起php默认错误处理机制,不会引起异常处理机制,只有在程序中throw抛出异常后,如果没有catch捕捉异常,默认调用php默认异常处理. php有默认错误机制和默 ...
- 小议C#错误调试和异常处理
在程序设计中不可避免地会出现各种各样的错误,在编写代码时须要尽量避免. 在处理错误时,首先应该分析错 误的类型,找出出错的原因才干解决错误. 错误的分类 watermark/2/text/aHR0cD ...
随机推荐
- HashMap以及ConcurrentHashMap
HashMap源码相关 HashMap实现原理及源码分析 总之就是这个博客,简直就是源码带逛,开心,最关键的是下面的图像 另外,自己的理解加上源码,总结如下 hash,原义散列,就是一对一: hash ...
- phpstudy不显示目录列表---设置方法
打开phpstudy,显示的项目文件路径不见了,其实是phpstudy的设置问题.以下是设置方法. 并将一下几个文件删除即可
- 【转】ROI Pooling
Faster rcnn的整体构架: 训练的大致过程: 1.图片先缩放到MxN的尺寸,之后进入vgg16后得到(W/16,H/16)大小的feature map: 2.对于得到的大小为(W/16,H/1 ...
- 路飞学城Python-Day100
Django项目之图书馆项目 1.项目架构 2.表结构设计 from django.db import models # Create your models here. #作者详情表 class A ...
- 路飞学城Python-Day53
01-jquery的介绍 JS在做项目或者是实现功能的时候,用JS去操作DOM元素非常复杂,代码量大,重复性代码也多 多个元素使用for循环遍历也是非常麻烦的,对于JS使用来说加大了难度 jQuery ...
- MaterialDesign动画
一.概述 MaterialDesign设计理念 MaterialDesign动画 二.实例讲解 (1)Touch Feedback (2)Reveal Effect (3)Activity Trans ...
- TensorFlow技术解析与实战学习笔记(13)------Mnist识别和卷积神经网络AlexNet
一.AlexNet:共8层:5个卷积层(卷积+池化).3个全连接层,输出到softmax层,产生分类. 论文中lrn层推荐的参数:depth_radius = 4,bias = 1.0 , alpha ...
- HTTPie:一个不错的 HTTP 命令行客户端
转自:http://top.jobbole.com/9682/ HTTPie:一个不错的 HTTP 命令行客户端 HTTPie (读aych-tee-tee-pie)是一个 HTTP 的命令行客户端. ...
- php程序员需要撑握的知识点
1. 基本知识点 HTTP协议中几个状态码的含义:1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 100 (继续) 请求者应当继续提出请求. 服务器返回此代码 ...
- MySQL主要的命令(1)
创建数据库 create database db_name; 创建数据库设置字符集 create database db_name character set utf8; 修改字符集编码 数据库导出: ...