zoukankan      html  css  js  c++  java
  • php学习笔记--error

    不同的错误处理方法:
    • 简单的die()语句
    • 自己定义错误函数错误触发器
    • 错误报告
    主要的错误处理:使用die()函数

    if(!file_exists("welcome.txt")){
      die("FIle not found");
    }else{
      $file=fopen("welcome.txt","r");
    }

    或者
    $file=fopen("webdictionary.txt","r") or die("Unable to open file!");

    die(status):假设status是字符串,则该函数会在推出前输出字符串。

                     假设status是证书。这个值会被用作退出状态。

    退出状态的值在0到254之间。退出状态255由php保留,不会被使用。状态0用于成功地终止程序。


    创建自己定义错误处理器:
    该函数必须有能力处理至少两个參数(error level和error message),可是能够接受最多五个參数(可选的:file,line-number以及error context)。
    error_function(error_level,error_message,error_file,error_line,error_context)//错误报告级别,错误消息,发送错误的文件名称,行号。规定一个数组(包括了当发生错误时在用的每一个变量以及它们的值)

    常量 描写叙述
    2 E_WARNING 非致命的 run-time 错误。不暂停脚本运行。
    8 E_NOTICE

    Run-time 通知。

    脚本发现可能有发生错误,但也可能在脚本正常执行时发生。

    256 E_USER_ERROR 致命的用户生成的错误。这类似于程序猿使用 PHP 函数 trigger_error() 设置的 E_ERROR。
    512 E_USER_WARNING 非致命的用户生成的警告。这类似于程序猿使用 PHP 函数 trigger_error() 设置的 E_WARNING。
    1024 E_USER_NOTICE 用户生成的通知。这类似于程序猿使用 PHP 函数 trigger_error() 设置的 E_NOTICE。
    4096 E_RECOVERABLE_ERROR 可捕获的致命错误。类似 E_ERROR。但可被用户定义的处理程序捕获。

    (參见 set_error_handler())

    8191 E_ALL
    全部错误和警告,除级别 E_STRICT 以外。
    (在 PHP 6.0。E_STRICT 是 E_ALL 的一部分)





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

    当上述错误被触发时,它会取得错误级别和错误消息。然后它会输出错误级别和消息。并终止脚本。如今。已经创建了一个错误处理函数,我们须要确定在何时触发该函数。

    Set Error Handler:
    php的默认错误处理程序是内奸的错误处理程序。能够改动错误处理程序。使其仅应用到某些错误,这样脚本就能够不同的方式来处理不同的错误。
    本例中,我们打算针对全部错误来使用我们的自己定义错误处理程序。


    set_error_handle(“customError”);
    当处理全部错误时。set_error_handler()仅须要一个參数。能够加入第二个參数来规定错误级别。


    触发错误:
    当用户的输入无效时触发错误。由trigger_error()完毕。
    $test=2;
    if($test>1){
    trigger_error("Value must be 1 or below");//大于1时触发错误
    }

    可能的错误类型:
    E_USER_ERROR:
    E_USER_WARNING:
    E_USER_NOTICE:





























  • 相关阅读:
    如何写一个计算器?
    Web-Scale IT 我之见!
    Django 安全策略的 7 条总结!
    运维安全系列基础服务之 FTP 服务(系列一)
    程序复杂度之圈复杂度
    微信小程序的wx-charts插件-tab选项卡
    微信小程序的wx-charts插件-tab选项卡
    小程序请假效果
    HTTP状态码
    解决微信小程序使用wxcharts在屏幕不固定问题-开发工具里也显示好了布局,为啥到真机就是乱的
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5139906.html
Copyright © 2011-2022 走看看