您现在的位置:首页 --> 查看专题: 异常
对于InterruptedException,一种常见的处理方式是捕捉它,然后什么也不做(或者记录下它,不过这也好不到哪去)。不幸的是,这种方法忽略了这样一个事实:这期间可能发生中断,而中断可能导致应用程序丧失及时取消活动或关闭的能力。
在开始这一节的内容之前,我想先阐明两个在很多时候被混淆的概念,那就是异常 (exception) 和错误 (error)。
在 Objective-C 开发中,异常往往是由程序员的错误导致的 app 无法继续运行,比如我们向一个无法响应某个消息的 NSObject 对象发送了这个消息,会得到 NSInvalidArgumentException 的异常,并告诉我们 "unrecognized selector sent to instance";比如我们使用一个超过数组元素数量的下标来试图访问 NSArray 的元素时,会得到 NSRangeException。类似由于这样所导致的程序无法运行的问题应该在开发阶段就被全部解决,而不应当出现在实际的产品中。相对来说,由 NSError 代表的错误更多地是指那些“合理的”,在用户使用 app 中可能遇到的情况:比如登陆时用户名密码验证不匹配,
PHP的异常原理PHP5+ 开始提供了一种新的面向对象的错误处理方法,用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。
异常与之对应的错误码(或者状态码), 到底各自有什么优点, 缺点, 我们应该怎么使用呢?
昨晚翻了翻《松本行弘的程序世界》这本书,看到他对异常设计原则的讲述,觉得颇为赞同。近期的面试,我有时也问类似的问题,但应聘者的回答大都不能令人满意。有必要理一理,说说我是怎么理解的,以及在编程实践中如何做出合适的选择。当然这只是一家之言,未必就是完全正确的。 首先,要明确一点的是,返回错误码和异常,这两者在程序的表达能力上是等价的。它们都可以向调用者传达“与常规情况不一样的状态”。考虑使用哪一种,...
给新人总结一下PHP的错误处理。 PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样,你就可以根据自己的需要,来更改和加强错误输出信息以满足实际需要. 通过日志记录功能,你可以将信息直接发送到其他日志服务器,或者发送到指定的电子邮箱(或者通过邮件网关发送),或者发送到操作系统日志等,从而可以有选择的记录和监视你的应用程序和网站的最重要的部分。 错误报告功...
现在要讲的是 audodie 和 Try::Tiny 这是近来看的几本 Perl 书常常提到的,记个笔记。 有时我们常常写多个 open ,然后还要写上多次 die 象下面,读一个文件,然后写一个文件,有时我写的 open 会超...
我最近在想这个问题,到底要不要在程序中使用异常? 以前写的 C 代码比较多,即使写 C++,基本上也是把它当成 C with object …
最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。在跟一些客户的接触中,我们经常的发现他们的代码里有大量的异常处理,自己都不知道。在移除了这些异常后,程序的运行速度比以前有大幅度的提高。这让我们产生了一种假想,程序中的异常处理语句是否给性能带来了巨大的开销?由此得出的推理会是,应该避免使用异常处理。由于异常处理是一个非常重要的处理错误情况的概念,完全的避免使用异常处理看起来并不是一种好的办法。总的来说,我们有充足的理由来近距离的观察一下异常的成本代价。
“PHP程序员,特别是从php4,甚至是PHP3中成长起来的程序员,很多都不习惯使用抛出异常这种错误处理方式。虽然php5引入了异常处理机制,但是很多php程序员还是没有真正的掌握并使用它。网站完全开放的特性,决定了网站比任何传统软件都更希望做到“系统看起来永远都是能够正常工作的”,所以采用正确的程序错误处理方式尤为重要。理论上来说,如果设计足够完美,开发人员足够谨慎,程序出现错误的可能为0.但事实恰...
[ 共11篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [68] Go Reflect 性能
- [68] 如何拿下简短的域名
- [67] Oracle MTS模式下 进程地址与会话信
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [61] 图书馆的世界纪录
- [60] 【社会化设计】自我(self)部分――欢迎区
- [58] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
赞助商广告