`

PHP5的异常处理机制[2]--PHP5之前的错误处理之trigger_error()

 
阅读更多

我们或许可以通过trigger_error()生成一个用户警告来代替,使程序更具有灵活性。

Index2.php

如果你使用trigger_error()函数来替代die(),你的代码在处理错误上会更具优势,对于客户程序员来说更易于处理错误。trigger_error()接受一个错误信息和一个常量作为参数。常量为:

常量 含义
E_USER_ERROR A fatal error
E_USER_WARNING A non-fatal error
E_USER_NOTICE A report that may not represent an error

你可以设计一个错误处理器,然后再定义一个处理器选择函数set_error_handler()来使用这个错误处理器。

Index2.php 后半段

set_error_handler()接受一个函数名作为参数。如果触发了一个错误,参数中的这个函数会被调用来处理错误。函数需要传入四个参数:错误标志,错误信息,出错文件,出错处的行数。你也可以将一组数组传递给set_error_handler()。数组中的第一个元素必须是错误处理器将调用的对象,第二个元素是错误处理函数的名称。可以看出,我们的错误处理器相当简单简陋,还可以改进。然而尽管你可以在错误处理器添加某些功能,如记录出错信息,输出debug数据等,这仍然是一个过于粗糙的错误处理途径。你的选择仅限于已经考虑到的出错情况。例如捕捉一个E_USER_ERROR错误,如果你愿意的话可以不中止脚本的执行(不使用exit()和die()),但如果这样做的话,可能会引起一些很微妙的bug,本来应该中止的程序却继续执行了。

分享到:
评论

相关推荐

    PHP中的错误处理、异常处理机制分析

    2. **自定义错误处理器**:通过`set_error_handler()`函数,我们可以设置一个自定义的错误处理函数,以便在发生错误时按照自定义的方式处理。例如: ```php function customErrorHandler($error_level, $error_...

    PHP 自定义错误处理函数trigger_error()

    定义和用法trigger_error() 函数创建用户定义的错误消息。 trigger_error() 用于在用户指定的条件下触发一个错误消息。它与内建的错误处理器一同使用,也可以与由 set_error_handler() 函数创建的用户自定义函数使用...

    PHP Error(错误处理)讲解.md

    ## 关于PHP错误处理 ### 一、使用`die()`函数,处理错误 `die()`函数在PHP中是一个非常实用的工具,它用于在遇到特定错误或条件时立即终止脚本的执行,并且可以选择性地向用户输出一条消息。这在调试阶段特别有用...

    PHP中通过trigger_error触发PHP错误示例

    综上所述,trigger_error()函数是PHP错误处理机制中的一项重要功能,它允许开发者通过编程的方式控制错误的抛出。这不仅有助于在调试阶段快速定位问题,还能在正式环境中帮助用户了解错误发生的上下文。然而,需要...

    PHP错误处理函数

    总的来说,PHP错误处理是通过结合`set_error_handler()`、`error_reporting()`和自定义错误处理函数来实现的,这样可以更有效地管理错误,提供更专业的错误反馈,同时确保程序的安全性。通过适当的错误处理,开发者...

    php重要知识点总结PHP网络开发必背.doc

    - `try-catch`:通过异常处理机制来捕获和处理错误。 4. **输出控制**: - `echo` 和 `print`:用于输出字符串,`echo`通常比`print`更快。 - `print_r()`:打印关于变量的易读格式信息。 - `var_dump()`:详细...

    php重要知识点总结(PHP网络开发必背).doc

    - `trigger_error()`: 触发一个用户自定义的错误。 - `try-catch`: 异常处理结构,用于捕获和处理运行时错误。 4. **日期和时间**: - `date_default_timezone_set()`: 设置默认的时区,如`"PRC"`代表中国北京...

    php5.zip_php5

    PHP5引入了异常处理机制,通过`try...catch...finally`结构捕获和处理运行时错误。错误和警告可通过`trigger_error()`触发,而异常则通过`throw new Exception()`抛出。 七、数据库交互 PHP5提供多种数据库扩展,...

    PHP 错误处理机制

    使用自定义错误处理函数时需要注意,如果错误发生在脚本执行之前,由于自定义错误处理函数还未注册,因此不会触发自定义的错误处理逻辑,此时只能依赖PHP的默认错误处理机制。 总之,PHP的错误处理机制提供了丰富的...

    php常用函数合集,有七个pdf文档

    - `set_error_handler()`: 自定义错误处理函数。 - `try-catch`结构: 异常处理机制,用于捕获并处理运行时发生的错误。 6. **数据库操作** - `mysqli_connect()`: 连接MySQL数据库。 - `mysqli_query()`: 执行...

    PHP笔试+面试题1-4

    5. **错误与异常处理** - 错误报告:error_reporting(), trigger_error()。 - 异常处理:try...catch块,throw语句,自定义异常类。 6. **文件系统操作** - 文件读写:fopen(), fread(), fwrite(), fclose()等。...

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

    在错误处理场景下,可以使用回调函数来定义自定义的错误处理机制,比如使用`set_error_handler()`函数注册一个回调函数来捕获和处理特定类型的错误。 面向对象的错误处理结合了异常处理和回调函数,可以提供更精确...

    php的学习笔记-php的学习笔记

    2. **set_error_handler()**:自定义错误处理器,允许开发者自定义错误处理逻辑。 3. **set_exception_handler()**:设置异常处理器,当未捕获的异常发生时调用。 ### 页面输出与变量处理 #### HTML中的PHP脚本...

    《php5完全攻略》代码

    这与传统的错误处理机制(如`error_reporting`和`trigger_error`)相比,提供了更规范的错误处理流程。 此外,PHP5的 SPL(Standard PHP Library)库提供了大量的内置类和接口,涵盖了迭代器、数据结构、文件系统...

Global site tag (gtag.js) - Google Analytics