关于异常的一点点小结

若本人对您有微微的帮助,将是我莫大的荣幸!

注意:为申明的本文讨论范围默认为java

初学者看看吧:

Throwable 是异常世界的超类,注意,此处“异常”指的是不正确的程序的,而非Exception,下面介绍它的子类

Error:错误,程序本身无法处理,如内存溢出,线程死亡,只能交给JVM去处理

Exception:异常,可以通过一定的方法来让程序继续正确执行,是可处理的,它包括:CheckedException 和 UncheckedException

关于 Java 中引入的 Checked Exceptions,目前存在着很多反对意见。正方的观点是引入 Checked Exceptions,可以增加程度的鲁棒性。反方的观点是 Checked Exceptions 很少被开发人员正确使用过,并且降低了程序开发的生产率和代码的执行效率。 
正方代表 James Gosling 
http://www.artima.com/intv/solid.html 
反方代表 Anders Hejlsberg 
http://www.artima.com/intv/csdes.html 
中文版:http://www.csdn.net/develop/article/22/22612.shtm 

本人倾向于正方观点,毕竟他能引导我编写更加正确的程序

CheckedException:受检异常,发生在编译阶段,必须被try...catch或者throws掉,否则编译不通过

UncheckedException:非受检异常,发生在运行阶段,有很多的不确定性,多有程序逻辑造成

若程序中显示的声明了某个异常,则抛出异常时不会显示出处,若程序中没有显示的声明某个异常,当抛出异常时,系统会显示异常的出处 

一:尽可能的减小try块!!!

二:保证所有资源都被正确释放。充分运用finally关键词。

三:catch语句应当尽量指定具体的异常类型,而不应该指定涵盖范围太广的Exception类。 不要一个Exception试图处理所有可能出现的异常。

四:既然捕获了异常,就要对它进行适当的处理。不要捕获异常之后又把它丢弃,不予理睬。 不要做一个不负责的人。

五:在异常处理模块中提供适量的错误原因信息,组织错误信息使其易于理解和阅读。

六、不要在finally块中处理返回值。

七、不要在构造函数中抛出异常。


异常使用指南(摘自:Think in java)

       应该在下列情况下使用异常。

       1、在恰当的级别处理问题(在知道该如何处理异常的情况下才捕获异常)。

       2、解决问题并且重新调用产生异常的方法。

       3、进行少许修补,然后绕过异常发生的地方继续执行。

       4、用别的数据进行计算,以代替方法预计会返回的值。

       5、把当前运行环境下能做的事情尽量做完。然后把相同(不同)的异常重新抛到更高层。

       6、终止程序。

       7、进行简化。

       8、让类库和程序更加安全。(这既是在为调试做短期投资,也是在为程序的健壮做长期投资)

下面是,对于异常的激烈讨论:

http://www.cnblogs.com/mailingfeng/archive/2012/11/14/2769974.html


尊重原创:

原文参考:http://blog.csdn.net/chenssy/article/details/17651909

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值