zoukankan      html  css  js  c++  java
  • 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>";
    ?>
  • 相关阅读:
    bzoj3809
    bzoj2038
    bzoj1113
    oralce 知识
    oracle 12c安装详细教程
    oracle 知识点
    oracle 面试题
    PLSQL Developer工具的使用
    使用net Manager工具配置远程连接oracle
    vnc安装
  • 原文地址:https://www.cnblogs.com/Y-HKL/p/5432217.html
Copyright © 2011-2022 走看看