Java程序设计基础之异常处理!!

早期的编程语言(比如C语言)没有异常处理,通常是遇到错误返回一个特殊的值或设定一个标志,并以此判断是不是有错误产生。随着系统规模的不断扩大,这种错误处理已经成为创建大型可维护程序的障碍了。于是在一些语言中出现了异常处理机制,比如在Basic中的异常处理语句“on error goto”,而Java则在C++基础上建立了新的异常处理机制。

  Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。这种机制为复杂程序提供了强有力的控制方式。同时这些异常代码与“常规”代码分离,增强了程序的可读性,编写程序时也显得更灵活。

  异常处理还有一个好处是在你不能确定和处理异常时,你可以不处理,而把问题提交上去。另一方面,异常处理机制使得错误处理代码更有条理,更便于维护。下面,我们看看在Java中如何处理异常。

  Java中的异常类

  在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。

  Throwable类有两个标准子类:java.lang.Error和java.lang.Exception即错误和异常。错误Error类 一般是指虚拟机相关的问题,如系统崩溃、虚拟机出错误、动态链接失败等,这一类错误无法恢复或不可能捕获,将导致应用程序中断。异常Exception类 则是指一些可以被捕获且可能恢复的异常情况,如数组下标越界ArrayIndexOutOfBoundsExcepton 、数字被零除产生异常ArithmeticException 、输入/输出异常IOException 等。

  提示:Java编译器要求Java程序必须捕获或声明所有非运行时的异常,如:FileNotFoundException、IOException等。因为,对于这类异常来说,如果程序不进行处理,可能会带来意想不到的结果。但运行时出现异常可以不做处理,因为这类异常很普遍,全部处理可能对程序的可读性和运行效率产生影响。

  Java异常处理形式

  Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。http://www.56.com/p89/v_MTI0ODU1NTM0.html 
http://www.56.com/p82/v_MTI0ODU1NjE1.html 
http://www.56.com/p36/v_MTI0ODU1NjU3.html 
http://www.56.com/p73/v_MTI0ODU1Njk0.html 
http://www.56.com/p30/v_MTI0ODU1NzM5.html 
http://www.56.com/p77/v_MTI0ODU1Nzg2.html 
http://www.56.com/p31/v_MTI0ODU1ODI4.html 
http://www.56.com/p72/v_MTI0ODU1ODY5.html 
http://www.56.com/p36/v_MTI0ODU1OTIx.html 
http://www.56.com/p57/v_MTI0ODU1OTQy.html 
http://www.56.com/p30/v_MTI0ODU2MDAz.html 
http://www.56.com/p78/v_MTI0ODU2MDUx.html 
http://www.56.com/p41/v_MTI0ODU2MTAy.html 
http://www.56.com/p29/v_MTI0ODU2MTc4.html 
http://www.56.com/p82/v_MTI0ODU2MjMx.html 
http://www.56.com/p40/v_MTI0ODU2Mjc3.html 
http://www.56.com/p93/v_MTI0ODU2MzMw.html 
http://www.56.com/p55/v_MTI0ODU2Mzgw.html 
http://www.56.com/p29/v_MTI0ODU2NDQy.html 
http://www.56.com/p77/v_MTI0ODU2NDkw.html 
http://www.56.com/p31/v_MTI0ODU2NTMy.html 
http://www.56.com/p79/v_MTI0ODU2NTgw.html 
http://www.56.com/p65/v_MTI0ODU2NzQy.html 
http://www.56.com/p41/v_MTI0ODU2ODA2.html 
http://www.56.com/p17/v_MTI0ODU2ODcw.html 
http://www.56.com/p68/v_MTI0ODU2OTIx.html 
http://www.56.com/p37/v_MTI0ODU2OTc4.html 
http://www.56.com/p89/v_MTI0ODU3MDMw.html 
http://www.56.com/p89/v_MTI0ODU3MTE4.html 
http://www.56.com/p54/v_MTI0ODU3MTcx.html 
http://www.56.com/p32/v_MTI0ODU3MjM3.html 
http://www.56.com/p98/v_MTI0ODU3MzAz.html 
http://www.56.com/p67/v_MTI0ODU3MzYw.html 
http://www.56.com/p29/v_MTI0ODU3NDEw.html 
http://www.56.com/p56/v_MTI0ODU3NTI1.html 
http://www.56.com/p59/v_MTI0ODU3NjE2.html 
http://www.56.com/p37/v_MTI0ODU3Njgy.html 
http://www.56.com/p36/v_MTI0ODU3NzY5.html 
http://www.56.com/p80/v_MTI0ODU3ODEz.html 
http://www.56.com/p81/v_MTI0ODU3OTAy.html 
http://j.renren.com/album/1308211143499717194 
http://j.renren.com/album/1308211144140700223 
http://j.renren.com/album/1308211144277908860 
http://j.renren.com/album/1308211144477059926 
http://j.renren.com/album/1308211145001299068 
http://j.renren.com/album/1308211145153868635 
http://j.renren.com/album/1308211145267091880 
http://j.renren.com/album/1308211145391797021 
http://j.renren.com/album/1308211145551496277 
http://j.renren.com/album/1308211146099580557 
http://j.renren.com/album/1308211146268678625 
http://j.renren.com/album/1308211146480258043 
http://j.renren.com/album/1308211147045427845 
http://j.renren.com/album/1308211147153231057 
http://j.renren.com/album/1308211147295725711 
http://j.renren.com/album/1308211147458911246 
http://j.renren.com/album/1308211148164489251 
http://j.renren.com/album/1308211148440778335 
http://j.renren.com/album/1308211149067919726 
http://j.renren.com/album/1308211149260990724 
http://j.renren.com/album/1308210942289161150 
http://j.renren.com/album/1308210942545942286 
http://j.renren.com/album/1308210943113153616 
http://j.renren.com/album/1308210943324233194 
http://j.renren.com/album/1308210943482577750 
http://j.renren.com/album/1308210944078962414 
http://j.renren.com/album/1308210944258234050 
http://j.renren.com/album/1308210944536211600 
http://j.renren.com/album/1308210945377994557 
http://j.renren.com/album/1308210946000290113 
http://j.renren.com/album/1308210946231810773 
http://j.renren.com/album/1308210946454306373 
http://j.renren.com/album/1308210947029807745 
http://j.renren.com/album/1308210947226620833 
http://j.renren.com/album/1308210947500998159 
http://photo.163.com/q/6646839/?mid=174327044 
http://photo.163.com/q/6646836/?mid=174327044 
http://photo.163.com/q/6646832/?mid=174327044 
http://photo.163.com/q/6646828/?mid=174327044 
http://photo.163.com/q/6646823/?mid=174327044 
http://photo.163.com/q/6646815/?mid=174327044 
http://photo.163.com/q/6646809/?mid=174327044 
http://photo.163.com/q/6646802/?mid=174327044 
http://photo.163.com/q/6646789/?mid=174327044 
http://photo.163.com/q/6646779/?mid=174327044 
http://photo.163.com/q/6654337/?mid=174322057 
http://photo.163.com/q/6654328/?mid=174322057 
http://photo.163.com/q/6654319/?mid=174322057 
http://photo.163.com/q/6654309/?mid=174322057 
http://photo.163.com/q/6654296/?mid=174322057 
http://photo.163.com/q/6654285/?mid=174322057 
http://photo.163.com/q/6654277/?mid=174322057 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值