浅谈PHP中的错误处理和异常处理

5年以前  |  阅读数:1109 次  |  编程语言:PHP 

错误处理:

1. 语法错误
2. 运行时的错误
3. 逻辑错误

错误报告:

错误E_ERROR
警告E_WARNING
注意E_NOTICE

开发阶段:开发时输出所有的错误报告,有利于我们进行调试

运行阶段:不要让程序输出任何一种错误报告

将错误报告写入日志中

一. 指定错误报告error_reporting=E_ALL(在php.inn)

二. 关闭错误输出display_errors=off(在php.ini中)

三. 开启错误日志的功能log_errors=on(在php.ini中)

1. 默认如果不指定错误日志位置,则默认写入web服务器的日志中

2. 为error_log选项指定一个文件名,这个文件名就是错误日志

3. 写入到操作系统日志中error_log=syslog


    <?php
    //注意和警告都不会终止程序的运行,但是错误会终止程序的运行

    /*
    错误E_ERROR
    警告E_WARNING
    注意E_NOTICE
    */
    //所有的错误都输出除了注意
    error_reporting(E_ALL & ~E_NOTICE);

    //设置配置文件的值(临时)
    //ini_set("upload_max_filesize", 2000000000);

    //得到配置文件的值
    //ini_get("upload_max_filesize");

    //关闭错误报告的显示,一般在运行阶段使用
    ini_set("display_errors", "off");
    //将错误报告写入日志中
    ini_set("log_errors", "on");
    //日志的目录
    ini_set("error_log", "D:/error.log");
    gettype($var);  //注意

    gettype();    //警告

    //getype();    //错误,程序终止

    echo "############<br>";
    ?>

异常处理:意外,是在程序运行过程中发生的意料之外的事,使用异常改变脚本正常流程

PHP5中的一个新的重要特性

try{

}catch(异常对象){

}
  1. 如果try中代码没有问题,则将try中代码执行完成后就到catch后执行

  2. 如果try中代码有异常发生,则抛出一个异常对象(使用throw),抛出给了catch中的参数,则在try中出现异常代码后的内容就不会执行,直接跳转到catch中去执行,catch中执行完成,再继续向下执行


    <?php
    try{
      echo "11111111<br>";
      $file=@fopen("./hello.txt","r");
      if(!$file){
        throw new Exception("文件打开失败");

      }
      echo "2222222222<br>";
    }catch(Exception $e){
      echo "3333333<br>";
      echo $e->getMessage()."<br>";
      touch("hello.txt");
      $file=@fopen("./hello.txt","r");
    }
    echo "4444444<br>";
    ?>

以上这篇浅谈PHP中的错误处理和异常处理就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例