(二)返回错误标记
脚本层次的错误处理比较粗糙但很有用。尽管如此,我们有时需要更大的灵活性。我们可以使用返回错误标识的办法来告诉客户代码“错误发生了!”。这将程序是否继续,如何继续的责任交给客户代码来决定。
这里我们改进了前面的例子来返回一个脚本执行出错的标志(false是一个常用的不错的选择)。
index3.php
这意味着你可以根据环境来处理多个错误,而不会在第一个错误发生时马上停止程序的执行。
使用像“false”这样的错误标志的好处是直观,但是明显给出的信息量不够,我们无法得知到底是在哪一个环节上错而导致返回false。你可以再设置一个error属性,这样在产生错误后输出出错信息。
index4.php
这个简单的机制可以让setError()记录下错误信息。其它代码可以通过error()来获得脚本错误的相关信息。你应该将这个功能抽取出来并放在一个最基本的类中,其它所用类都从这个类继承而来。这样可以统一处理错误,否则可能出现混乱。我就曾经见过有些程序在不同的类中使用getErrorStr()、 getError()和error()等功能相同的函数。
然而,实际开发中要让程序中的所有类都从同一个类中继承而来是很困难的,除非同时使用接口(interface)否则无法实现一些子类自身特有的功能,但那已经是PHP5的内容。就像我们将提到的,PHP5中提供了更好的解决方案。
分享到:
相关推荐
彻底解决usb错误 一插上usb就报如下错误: / # usb 1-1: new full speed USB device using s3c2410-ohci and address 2 usb 1-1: device descriptor read/64, error -62 usb 1-1: device descriptor read/64, error ...
适合新手学习php_错误处理机制,适合新手学习php_错误处理机制
3. JVM 是如何处理异常的? 4. throw 和 throws 的区别是什么? 5. final、finally、finalize 有什么区别? 6. NoClassDefFoundError 和 ClassNotFoundException 区别? 7. try-catch-finally 中哪个部分可以省略?
api-ms-win-core-errorhandling-l1-1-0.dll
android linux 开发usb错误-device descriptor read/64, error -62解决方法总结
libgpg-error-devel-1.12-3.el7.i686.rpm
前端开源库-error-html错误HTML,以HTML呈现错误堆栈
Loadrunner Error -27492: "HttpSendRequest" failed, Windows error code....错误解决方法
errorx - Go的综合错误处理库
安装驱动报error -536870329 的解决方案
当程序执行过程中出现异常时,异常处理机制允许我们捕获和处理这些异常,以便程序能够以一种可控的方式处理错误情况。 Java中的异常分为三种类型:检查型异常(Checked Exception)、非检查型异常(Unchecked ...
编译vlc-for-android需要的依赖库,找了好久啊
本文实例讲述了GO语言标准错误处理机制error用法。分享给大家供大家参考。...一般情况下,如果函数需要返回错误,就将 error 作为多个返回值中的最后一个(但这并非是强制要求)。参考模型: 代码如下:func
理解 掌握 掌握 掌握 学习目标 理解异常的概念 1 2 掌握处理异常的几种方式 掌握raise和assert语句,会抛出自定义的异常 3 4 掌握with和as环境安装器的使用 精品课件----Python常见异常处理全文共71页,当前为第2页...
阅读此博客文章将帮助您了解react-error-boundary为您做什么: –如何通过使用react-error-boundary有效地处理React错误来简化React应用目录错误恢复原料药ErrorBoundary道具useErrorHandler(error?: Error) 问题 :...
VCS双机启动的时候可能出现如下错误:VCS ERROR V-16-1-10600 Cannot connect to VCS engine 该文档是我在解决该错误的方法,希望能帮助到有需要的朋友!
HP-LaserJet-3015-50-fuser-error-报错--
1、 keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm 2、 libcom_err-devel-1.42.9-19.el7.x86_64.rpm 3、 libkadm5-1.15.1-50.el7.x86_64.rpm 4、 libselinux-devel-2.5-15.el7.x86_64.rpm 5、 libverto-devel-0.2.5-4...
error-stack-parser, 从JS错误中提取含义 error-stack-parser.js-- 从JS错误中提取含义 简单,跨浏览器 错误分析器。 这个库解析并提取函数名。url 。行号和列号,作为一个框架集的一个 array,作为一个的。一旦你...