设定错误和异常处理的三个函数(第二篇)

set_error_handler()

解释:设置用户自定义的错误处理函数,如果使用该函数,会绕过php错误处理程序,同时如果必要,用户定义错误程序通过die()终止脚本,如果错误发生在脚本执行前(比如文件上传)将不会调用自定义的错误处理函数 ,因为它尚未在那时注册

案例:

<?php
//用户定义的错误处理函数
    function myerror($errno,$errstr,$errfile,$errline){
        echo "<b>error:</b>[$errno]$errstr<br>";
        echo "Error on line $errline in $errfile";
    }
    //设置用户定义的错误处理函数
    set_error_handler(‘myerror‘);

    $test=false;
    if($test==false){
        trigger_error(‘错误产生了‘);
        /**
            trigger_error(errormsg,errortype);
            errortype:
                E_USER_ERROR
                E_USER_WARNING
                E_USER_NOTICE(默认)
        */
    }
    /**
    执行结果:error:[1024]错误产生了
                Error on line 12 in D:\web\m_study\a.php*/

?>

//用户定义的错误处理函数
    function myerror($errno,$errstr,$errfile,$errline){
        echo "<b>error:</b>[$errno]$errstr<br>";
        echo "Error on line $errline in $errfile";
    }
    //设置用户定义的错误处理函数
    set_error_handler(‘myerror‘);

$test=false;
    if($test==false){
        trigger_error(‘错误产生了‘);
        /**
            trigger_error(errormsg,errortype);
            errortype:
                E_USER_ERROR
                E_USER_WARNING
                E_USER_NOTICE(默认)
        */
    }
    /**
    执行结果:error:[1024]错误产生了
                Error on line 12 in D:\web\m_study\a.php*/

时间: 2024-10-05 03:03:34

设定错误和异常处理的三个函数(第二篇)的相关文章

PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法

PHP 的异常处理.错误的抛出及回调函数等面向对象的错误处理方法: http://www.jb51.net/article/32498.htm http://www.cnblogs.com/hongfei/archive/2012/06/10/2544047.html

PHP的错误和异常处理

PHP的错误和异常处理 任何程序员在开发时都可能遇到过一些失误,或其他原因造成错误的发生.当然,用户如果不愿意或不遵循应用程序的约束,也会在使用时引起一些错误发生.PHP程序的错误发生一般归属于下列三个领域. Ø  语法错误 语法错误最常见,并且最容易修复.例如,遗漏了一个分号,就会显示错误信息.这类错误会阻止脚本执行.通常发生在程序开发时,可以通过错误报告进行修复,再重新运行. Ø  运行时错误 这种错误一般不会阻止PHP脚本的运行,但是会阻止脚本做希望它所做的任何事情.例如,在调用heade

PHP中的错误和异常处理

在编写php程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); //这里并没有对文件进行判断就打开了,如果文件不存在就会报错 ?> 那么正确的写法应该如下: <?php if(file_exists('test.txt')){ $f=fopen('test.txt','r'); //使用完后关闭 fclose($f); } ?> 一.PHP错误处理的三种方

再谈PHP错误与异常处理

博客好久没有更新了,实在惭愧,最近在忙人生大事,哈哈!这段时间没有看什么新的东西,结合项目中遇到的PHP异常处理问题,我又重新梳理了之前模糊的概念,希望对大家理解PHP异常处理有所帮助. 请一定要注意,没有特殊说明:本例 PHP Version < 7 说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序,内容如下,然后命令行执行:php test.php 1 <?php 2 $num = 0; 3 try { 4

转载 PHP的错误和异常处理

PHP异常处理详解 异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法. 异常处理通常是防止未知错误产生所采取的处理措施.异常处理的好处是你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的方法,使编程效率大大提高.当异常被触发时,通常会发生:          当前代码状态被保存         代码执行被切换到预定义的异常处理器函数          根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚

PHP常用功能块_错误和异常处理 — php(32)

一.错误和异常处理 1.1 错误类型和基本的调试方法PHP程序的错误发生一般归属于下列三个领域: 语法错误:语法错误最常见,并且也容易修复.如:代码中遗漏一个分号.这类错误会阻止脚本的执行. 运行时错误:这种错误一般不会阻止PHP脚本的执行,但会阻止当前要做的事情.输出一条错误,但php脚本继续执行 逻辑错误:这种错误最麻烦,既不阻止脚本执行,也不输出错误消息.一个异常则是在一个程序执行过程中出现的一个例外,或是一个事件,它中断了正常指令的运行,跳转到其他程序模块继续执行. PHP的错误报告级别

php错误和异常处理笔记

关于php的错误和异常处理的使用最近终于搞清楚了,下面是简要笔记:0.程序处理的原则: 0.首先是中断,即粗暴的停止程序,并且不提供错误信息,在php中就是die()和exit(),只是简单的输出一条消息,比粗暴中断有了一定进步; 1.然后是错误处理,就是在中断基础上增加关于错误的信息,以便调试,就是php中默认的错误处理方式(缺点见下); 2.为了弥补缺点,php允许程序员自定义错误处理函数;1.php自身的错误处理方式对于web用户是不友好的(warning级别的错误不影响后续的程序运行,而

[erlang 001]erlang中的错误及异常处理

一. erlang中的错误 1. 分类     1) 编译错误:主要是编译器检测出的代码语法错误:     2) 逻辑错误:是指程序没有完成预期的工作,属于开发人员的问题:     3) 运行时错误:是指erlang运行时抛出的错误,比如对非数据类型执行算术运算,erlang运行时会捕获异常,并抛出.在erlang中,这类异常的类型为error:     4) 用户代码生成的错误:是指通过exit/1或者throw/1生成. 2. 异常 我们把运行时错误以及用户抛出的错误称为异常(excepti

错误和异常处理

一.错误处理 1.常见的错误级别 // Notice json_encode($arr); // Warning json_encode(); // Fatal error jsonp_encode(); 2.设置php报告错误的级别 错误级别查看可通过文档的 函数参考->错误处理->预定义常量 查看. //只显示error类型的错误 error_reporting(E_ERROR); // 报告所有错误,&(并且) ~(不包括) error_reporting(E_ALL &