`
jimphei
  • 浏览: 38980 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

php的错误和异常(转载)

    博客分类:
  • php
阅读更多

一个正规的程序或项目不但代码优美,可读性强,而且错误和异常处理信息也要明确直观,这样对我们以后的项目维护带来很大的方便性,好了,咱们就一一介绍下吧:

一、exit(),die()和trigger_error()
      首先die()同等于exit(),两者如果执行都会中止PHP程序,而且在死之前都可以留句遗言!exit()和die()唯一不同的是exit() 可以返回0--254状态值,0表示返回成功。trigger_error()生成一个用户警告来代替,使程序更具有灵活性.例如: trigger_error("Cannot find file", E_USER_ERROR); 使用trigger_error()函数来替代die(),你的代码在处理错误上会更具优势,对于客户程序员来说更易于处理错误。

二、应该常用 return false
     在做判断时,如果为否则返回return false;是一个不错的选择,因为它会在你输出相关错误信息时继续执行程序。明显return false输出的错误信息量不足,对调试带来不便,所以建议在它之前可以做预输出错误信息。

三、error_reporting() 和 set_error_handler()
      error_reporting()是定义错误信息级别,分别有
   E_ALL输出所有错误信息
   E_NOTICE 表示一般情形不记录,只有程式有错误情形时才用到,例如企图存取一个不存在的变数,或是    呼 叫stat() 函式检视不存在的档案。
   E_WARNING 通常都会显示出来,但不会中断程式的执行。这对除错很有效。例如:用有问题的常规表示法呼叫 ereg()。
   E_ERROR 通常会显示出来,亦会中断程式执行。意即用这个遮罩无法追查到记忆体配置或其它的错误。
   E_PARSE 从语法中剖析错误。
   E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
   E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。
      set_error_handler()是自定义的错误处理函数一定要有这4个输入变量$errno,$errstr,$errfile,$errline,否则无效。分别为是否存在错误,错误信息,错误文件,错误行号.

四、异常处理机制
    异常处理机制是在PHP5加入的,类似想JAVA的异常吧,在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP 允许在 catch 代码块内再次抛出(throw)异常。PHP5的内建异常类是Exception ,以下是代码实例:

======================================

<?php
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // 从这里开始,tra 代码块内的代码将不会被执行
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',   $e->getMessage(), "\n";
}

// 继续执行
echo 'Hello World';
?>

======================================

根据我们以上讨论的,PHP内建的异常类需要有以下成员方法:

__construct()
构造函数,需要一个出错信息和一个可选的整型错误标记作参数

getMessage()
取得出错信息

getCode()
出错的代码

getFile()
异常发生的文件

getLine()
异常发生的行数

getTrace()
跟踪异常每一步传递的路线,存入数组,返回该数组

getTraceAsString()
和getTrace()功能一样,但可以将数组中的元素转成字符串并按一定格式输出

异常机制提供了几个非常关键的好处:
(1) 通过将错误处理集中于catch语句中,你可以将错误处理从应用流程中独立出来。这也使代码的可读性提高,看起来令人愉快。我通常采取非常严格的策略来捕捉所有异常并中止脚本执行。这样可以获得所需的附加的弹性,同时实现安全易用的异常管理。
(2) 重掷异常,将异常数据流从低层传递至高层,就是说异常被传回最适合决定如何处理异常的地方。这看起来会显得有点奇怪,但实际情况中很经常我们在异常发生的时候无法立刻决定如何处理它。
(3) 异常机制提供的Throw/catch避免了直接返回错误标识,方法的返回值是可以由你的类来决定的。其它程序员使用你的代码时,可以指定返回一个他希望的形式,而不需要令人疲倦的不停地测试。

分享到:
评论

相关推荐

    轻松学PHP之PHP的错误和异常处理

    轻松学PHP之PHP的错误和异常处理,可以轻松学习PHP。PHP学习的宝典。PHP的错误和异常处理是非常重要的。

    一个显示效果非常不错的PHP错误、异常处理类

    在这个给定的文件信息中,我们可以了解到关于PHP错误和异常处理类的知识点。PHP作为一种广泛使用的服务器端脚本语言,其错误和异常处理是开发过程中不可或缺的一部分。良好的错误和异常处理能够帮助开发者及时发现并...

    PHP各种异常和错误的拦截方法及发生致命错误时进行报警

    为了解决这个问题,可以使用PHP提供的错误和异常处理机制,即使用内建的函数来实现错误和异常的拦截,并配合自定义的日志记录方法来安全地处理这些问题。 首先,我们来介绍PHP中的几个关键函数: 1. `set_...

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

    在PHP编程中,错误处理和异常处理是确保代码健壮性、可靠性和安全性的重要组成部分。在上述内容中,提到了PHP处理错误的两种主要方法:错误处理和异常处理。 首先,我们来了解一下PHP中的错误处理机制。PHP提供了...

    Corner让PHP异常和错误使用户更加友好

    4. **日志记录**:在转换错误和异常的同时,Corner也会将详细信息记录到日志,以便开发者在后台分析和调试问题。这种做法既保护了用户体验,又确保了开发者有足够信息修复问题。 5. **配置与扩展**:Corner的灵活性...

    PHP和MySQL_Web开发_原书第4版 07_错误和异常处理

    PHP和MySQL_Web开发_原书第4版 07_错误和异常处理

    PHP错误和异常处理功能模块示例

    在PHP编程中,错误和异常处理是至关重要的部分,它们帮助开发者识别并修复代码中的问题。本文将深入探讨PHP的错误类型、调试方法、错误报告级别以及错误日志的配置和使用。 首先,PHP错误主要分为三种类型: 1. ...

    详细解读php的异常处理机制-参考源码

    PHP的异常处理机制是编程过程中不可或缺的一部分,它用于在程序执行出错时提供有序的错误报告和控制流程。本文将深入解析PHP的异常处理机制,并参考提供的源码文件(exception01.php到exception07.php)来举例说明。...

    php错误、异常处理机制(补充)

    在PHP编程中,错误处理和异常处理是两个关键的概念,它们用于确保程序的稳定性和可靠性。在PHP 5及以上版本中,引入了异常处理机制,为处理程序运行时的意外情况提供了一种更加结构化的方法。 一、错误处理 传统的...

    异常和错误处理.xmind

    PHP异常和错误xmind格式版

    SlashTrace一个非常棒的错误和异常处理程序

    SlashTrace一个非常棒的错误和异常处理程序。 您将它挂钩到您的错误处理例程(或让它自己设置以捕获所有错误和异常),捕获并显示有关您的错误许多好消息。 它适用于普通的浏览器请求,也适用于AJAX和CLI。

    PHP Error:一个为更好的解决开发过程中面临着标准的PHP错误信息一个开源的PHP类库

    PHP Error 库解决了这个问题,它通过自定义错误处理器和异常处理机制,提供了更丰富的错误上下文信息,包括错误类型、错误位置、相关代码片段等。 集成PHP Error库非常简单,只需在项目中引入并配置即可。它支持在...

    PHP错误和异长常处理总结

    在PHP编程中,错误处理和异常处理是至关重要的部分,它们可以帮助开发者确保代码的稳定性和安全性,同时提高用户体验。本文将全面总结PHP中的错误处理机制,包括错误的记录、自定义错误处理函数以及如何利用异常处理...

    php中的异常和错误浅析

    PHP错误是属于php程序自身的问题,一般是由非法的语法,环境问题导致的,使得编译器无法通过检查甚至无法运行的情况。PHP异常一般是业务逻辑上出现的...本文介绍了php中异常和错误的相关资料,需要的朋友可以参考下。

    PHP中错误与异常的日志记录用法分析

    在PHP中,错误和异常的处理是程序健壮性的重要组成部分,它们帮助开发者了解程序运行时可能出现的问题。错误是指程序执行中遇到的问题,比如语法错误、逻辑错误等,而异常通常指的是程序执行过程中所遇到的可恢复性...

    第8章错误、异常处理与调试.pdf

    在编程领域,错误和异常处理是至关重要的环节,它们确保了程序的稳定性和可靠性。PHP作为一门广泛使用的服务器端脚本语言,提供了丰富的错误处理机制和调试工具。本章主要探讨了PHP中的错误类型、异常处理以及调试...

Global site tag (gtag.js) - Google Analytics