`

PHP5的异常处理机制[4]--PHP5之前的错误处理--使用PEAR处理错误

 
阅读更多

(三)使用PEAR处理错误

你也可以使用PEAR来处理错误。当发生错误,将返回一个 Pear_Error对象。后面的代码通过一个静态方法PEAR::isError()来检验这个对象。如果错误确实发生了,那么返回的Pear_Error对象将提供你需要的所有相关信息:

PEAR::getMessage() - the error message 出错信息
PEAR::getType() - the Pear_Error subtype 错误类型
PEAR::getUserInfo() - additional information about the error or its context 附加信息
PEAR::getCode() - the error code (if any) 出错代码

这里我们修改了getCommandObject()方法,使之返回一个Pear_Error对象。

index_pear.php

Pear_Error既是出错标志又包含有错误的相关具体信息,这对于客户代码来说是很好用的。

尽管返回一个对象值可以让你灵活对程序中的问题作出反映,它也有“污染接口”的副作用。因为现在 getCommandObject() 方法 的 出口有两个,而且都是对象,有时可能产生混淆。

PHP不允许你指明一个类方法或函数应当返回的值的类型,尽管这样比较方便。 getCommandObject()方法返回的即是Command对象或者一个Pear_Error对象。如果你想得到一定的类型的返回值,你必须每次都检验值的类型。一段谨慎的代码会充满复杂的检验条件语句,如果每种类型都检验的话。

以下是一段不考虑错误检验的 PEAR::DB客户代码

程序的可读性很好,操作一目了然--我们选择一个数据库,新建一个数据表然后插入一行纪录,再取回数据,然后丢弃掉数据表。

再看看以下使用错误判断之后:

很明显加上错误检验后,代码显得冗长复杂。其实以上代码比起实际项目中的代码还要简单一些,但已经足以说明错误检验的复杂程度。

分享到:
评论

相关推荐

    PHP核心教程 php pear php pear

    7. **错误和日志**:了解如何设置错误报告级别,使用error_reporting和try-catch结构进行错误处理,以及如何记录日志。 接下来,我们谈谈PEAR。PEAR是PHP的扩展和应用程序仓库,它提供了一套标准的库和工具,帮助...

    PHP-pear学习资料

    - **提高效率**:使用 PEAR 可以帮助开发人员更快地完成项目,因为很多常见的功能都已经封装在 PEAR 的类库中。 - **易于维护**:由于 PEAR 使用统一的命名约定和编码风格,所以代码更加易于阅读和维护。 - **安全性...

    PEAR.php源代码

    2. **错误处理**:通过`PEAR_Error`和`PEAR_Exception`,学习如何自定义错误处理策略,以及何时使用异常而不是错误。 3. **包管理**:理解如何注册和管理PHP包,包括安装、升级、卸载和依赖关系的解决。 4. **配置...

    手册资料-pear英文手册

    5. **错误处理和自动加载**: 理解和实践PEAR的错误处理和自动加载机制。 6. **开发自己的PEAR包**: 进阶学习如何创建符合PEAR标准的自定义包,并发布到PEAR仓库。 7. **查阅官方文档**: 阅读pear.php.net上的文档...

    PHP中异常处理的一些方法整理

    在PHP中,异常处理是一个重要的机制,用于处理程序运行时出现的错误。...特别是在与SPL的结合使用中,开发者能够利用PHP自身的功能来实现高效和标准化的错误处理机制。这对于提高软件的稳定性和用户体验都至关重要。

    Windows 下的 PHP-PEAR 安装方法

    4. 使用命令行界面(CLI)或直接运行go-pear.php来启动安装过程。 知识点四:使用PHP-CLI运行go-pear.php PHP-CLI是PHP命令行解释器,它允许开发者在命令行环境下运行PHP脚本,而无需依赖服务器软件如Apache或Nginx...

    zabbix5.0的安装包以及自动化脚本

    使用自动化脚本时,需要注意的是,脚本应具有良好的错误处理和日志记录功能,以便在出现问题时进行排查。此外,为了安全性,不要在脚本中直接写入数据库密码,而应通过环境变量或密钥文件传递。 总的来说,Zabbix ...

    php-5.4.44tar.gz

    4. **改进的错误处理**:使用异常处理替代传统的错误报告,提供了更可控的错误处理方式。 5. **intl扩展默认开启**:这个扩展提供了国际化和本地化支持,对开发多语言应用非常有用。 6. **OPcache**:内置的opcode...

    php-5.3.5-Win32-VC6-x86.zip

    4. **增强了错误处理**:引入了异常处理机制,使得错误处理更符合面向对象编程的规范。 5. **改进的性能**:通过优化编译器和运行时环境,提高了执行效率。 6. **更多的内置扩展**:如MySQLi和PDO扩展,提供了与...

    PHP电子书, PEAR、PECL的应用,Smarty类库

    提供的PDF文件“PHP学习资料”可能包含了PHP的基础语法、高级特性、错误处理、面向对象编程、文件系统操作、网络编程、数据库交互等方面的内容。这些资料对于初学者来说是一份宝贵的资源,可以帮助他们快速掌握PHP的...

    PHP Programming With PEAR

    这些工具通常包括认证机制和错误处理逻辑,极大地简化了API接入的工作量。 #### 结论 《PHP Programming with PEAR》是一本全面介绍如何使用PEAR框架进行PHP开发的书籍。通过本书的学习,读者不仅可以掌握如何利用...

    Kafkaphp使用纯粹的PHP编写的kafka客户端

    - **错误处理**:提供了丰富的错误码和异常处理机制,便于调试和问题定位。 - **自动重试**:对于发送失败的消息,Kafka-php可配置自动重试策略。 - **批处理**:可以批量发送消息,减少网络I/O开销。 - **高...

    pear用户手册英文版

    8. **错误处理和日志记录**:PEAR提供了一套统一的错误处理机制和日志记录工具,使得应用程序的错误报告和调试更加规范和高效。 9. **版本控制**:PEAR使用版本控制系统(如Git)来管理和追踪组件的更新,用户可以...

    php5.rar_PHP 教程_manuel php5 .chm_php5_php5 chm

    此外,错误处理机制得到增强,引入了异常处理,使程序的健壮性得到提升。变量类型检查也更加严格,提高了代码的稳定性。 **2. PHP5的数据类型** PHP5增加了新的数据类型,如boolean(布尔型)、NULL(空值)和...

    PHP最新版本(php-5.2.9-1-Win32.zip)

    此外,错误处理机制得到改进,支持异常处理,提高了程序的健壮性。性能方面,5.2系列对内存管理和执行效率进行了优化,提升了整体性能。 在提供的文件列表中,每个文件都有其特定作用: 1. `go-pear.bat`:这是一...

    《PHP5权威编程》

    第7章 错误处理 第8章 PHP 5中处理XML 第9章 主流扩展 第10章 使用PEAR 第11章 重要的PEAR包 第12章 创建PEAR的组件 第13章 迁移 第14章 性能 第15章 一个编写PHP扩展的介绍 第16章 PHP Shell 脚本编程 附录A PEAR和...

    php-5.3.0-Win32-VC9-x86.zip

    PHP 3.0是较旧的版本,而PHP 5.3.0引入了许多新的特性和改进,例如命名空间、晚期静态绑定和改进的错误处理。 压缩包中的子文件名提供了关于安装和运行此PHP版本所需的组件: 1. "go-pear.bat" - 这是一个批处理...

    perl pear db

    模块还提供了错误处理机制,使得在出现数据库操作问题时,可以捕获并适当地处理异常。 以下是一些使用Perl PEAR DB的关键概念和方法: 1. **连接数据库**:使用`DB::connect()`函数,传入DSN(Data Source Name)...

Global site tag (gtag.js) - Google Analytics