资讯专栏INFORMATION COLUMN

PHP 错误抛出及自定义处理

2450184176 / 983人阅读

摘要:错误抛出及自定义处理定义中的错误抛出及自定义处理指的是允许我们自定义抛出错误并且捕捉错误并进行处理。例如我们编写一个的函数,而参数必须是一个整数否则触发错误运行结果如下捕捉错误异常摘自官方文档

PHP 错误抛出及自定义处理

定义

php中的错误抛出及自定义处理指的是允许我们自定义抛出错误并且捕捉错误并进行处理。类似于

面向对象语言中的throw 及 try...catch...

在php中主要由以下三个函数来完成抛出以及捕捉处理.

trigger_error()

set_exception_handler()

set_error_handle()

trigger 简介
在php中,trigger函数可以触发任一用户级别的错误,在非面向对象编程中,可以做为一种错误提示的方式。

例如:我们编写一个e($n)的函数,而参数必须是一个整数,否则触发错误

/**
 * @param $n
 */
function e($n)
{
  if (!is_int($n)) {
      trigger_error("n is not a number", E_USER_NOTICE);
  }
}

运行结果如下:

捕捉错误OR异常(摘自PHP官方文档)

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    if (!(error_reporting() & $errno)) {
        // This error code is not included in error_reporting
        return;
    }

    switch ($errno) {
        case E_USER_ERROR:
            echo "My ERROR [$errno] $errstr
"; echo " Fatal error on line $errline in file $errfile"; echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")
"; echo "Aborting...
"; exit(1); break; case E_USER_WARNING: echo "My WARNING [$errno] $errstr
"; break; case E_USER_NOTICE: echo "My NOTICE [$errno] $errstr
"; break; default: echo "Unknown error type: [$errno] $errstr
"; break; } /* Don"t execute PHP internal error handler */ return true; }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22175.html

相关文章

  • Flask-restful 用法及自定义参数错误信息

    摘要:是我们自定义的错误码为启动文件当我们运行的时候,程序便启动了起来。在中修改只要为,报参数错误正常返回消息把中的方法改为我们自己定义的方法现在再次运行浏览器输入即可得到输入检测一下正常输出完美 flask-restful 是一款比较好用的 flask 插件,它不仅自动为我们实现了数据的 json 化,还能对传入参数进行验证,优雅的替代了 form 表单。 代码结构: app |_api...

    Dogee 评论0 收藏0
  • php.类与对象

    摘要:接口可以使用常量,叫接口常量,和类的常量使用方法相同类可以同时继承多个接口使用接口常量抽象类不能被实例化。继承抽象类,子类必须实现父类中所有的抽象方法。 访问控制 属性和方法的访问控制(可见标识):public 任何地方private 类自身protected 类自身,自子类及自父类 this this 可以理解为这个类的一个实例 self self 代表类本身 __construc...

    scq000 评论0 收藏0
  • H5页面二次分享

    摘要:对于页面来说二次分享还是蛮重要的,毕竟还是微信发出去之后习惯性的使用自带的分享功能。通篇看完的话,基本上能避过很多坑记得微信文档习惯把一些坑写在后面,不放在一起先说说,怎么微信怎么做二次分享文档地址,通过引入官方。 对于H5页面来说二次分享还是蛮重要的,毕竟qq还是微信发出去之后习惯性的使用自带的分享功能。和PC端不同,PC直接复制地址了。前两天在做请柬,踩了不少的雷,个人开发和公司开...

    evin2016 评论0 收藏0
  • H5页面二次分享

    摘要:对于页面来说二次分享还是蛮重要的,毕竟还是微信发出去之后习惯性的使用自带的分享功能。通篇看完的话,基本上能避过很多坑记得微信文档习惯把一些坑写在后面,不放在一起先说说,怎么微信怎么做二次分享文档地址,通过引入官方。 对于H5页面来说二次分享还是蛮重要的,毕竟qq还是微信发出去之后习惯性的使用自带的分享功能。和PC端不同,PC直接复制地址了。前两天在做请柬,踩了不少的雷,个人开发和公司开...

    layman 评论0 收藏0
  • Java类加载器及自定义

    摘要:自定义类加载器示例代码类加载器获取的字节流字节流解密被加载的类测试代码以上代码,展示了自定义类加载器加载类的方法。这就需要自定义类加载器,以便对加载的类库进行隔离,否则会出现问题对于非的文件,需要转为类,就需要自定义类加载器。 Java类加载器的作用是寻找类文件,然后加载Class字节码到JVM内存中,链接(验证、准备、解析)并初始化,最终形成可以被虚拟机直接使用的Java类型。sho...

    hiyang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<