Java编程中非常处理的优劣之道[Java编程]
本文“Java编程中非常处理的优劣之道[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java编程中的非常处理是一个很常见的话题了,几近任何一门介绍性的Java课程城市提到非常处理.不过,我认为很多人其实并没有真正掌握精确处理非常情形的办法和战略,最多也就不过理解个大约,知道点概念.本文就对三种差别程度和质量的Java非常处理举行了谈论,所阐述的处理非常的方法按伎俩的高下分为:
好,不好和卑劣三种.
同时向你供应了一些办理这些问题的本领.
首先注释一些java非常处理中必须搞清楚的定义和机制.Java语言标准将自Error类或RuntimeException类衍生出来的任何违例都称作“不可查抄”(Unchecked)非常;其他全部非常则称作“可查抄”(Checked)非常.
所谓可查抄非常,是指我们应当自行处理的非常.至于处理的手段,要末加以掌握(try catch),要末告示(throws)他们有大概产生.普通,应捕捉那些已知若何处理的非常,而告示那些不知若何处理的非常.
而对那些不可查抄非常来说,他们要末在我们的掌握之外(Error),要末是我们首先就不该答应的情形(RuntimeException).
至于非常的指定,Java的法则非常简单:一个办法必须告示自己大概产生的全部可查抄非常.编写自己的办法时,并不一定要告示出办法实际大概产生的每一个非常对象,要想理解什么时刻必必要办法的throws丛句来告示非常,就必须知道对一个非常来说,他只有大概在下面四种情形下才会产生:
1.调用了大概产生非常的办法.比方BufferedReader类的readLine办法.该办法告示java.io.IOException非常
2.侦测到一个错误,并用throw语句产生非常.
3.呈现一个编程错误.比方a[-1] = 0.
4.Java产生内部错误.
假如呈现头两种情形之一,必须奉告打算利用自己办法的人:假定利用这个办法,大概造成一个非常的产生(即在办法头上利用throws),一个简单的记忆办法:
只要含有throw,就要告示throws.假如一个办法必须同时处理多个非常,就必须在头内指出全部非常.就像下例展示的那样,用逗号对他们举行分割:
class Animation
{
public Image loadImage(Strint s) throws EOFException,MalformedURLException
{
…………
}
}
但是,我们不需求告示内部java错误,也不该该告示自RuntimeException衍生出来的非常.
好的非常处理
好非常处理供应了处理程序错误的统一机制.事实上,Java语言通过向调用者提出非常告诫的方法而明显地晋升了软件开辟中的非常处理本领.这种方法把Java语言中的“办法(method)”举行了扩大和加强,使之包含了自身的错误条件.下面就让我们看一个例子,这个例子阐明了这种情形.
以下是FileInputStream构造器之一的原型:
public FileInputStream(String name) throws FileNotFoundException Java
的办法和构造器必须声明他们在被调用时大概“扔出”的非常,采取的关键字就是“throws”.这种在办法原型中呈现的非常提醒增添了编程的坚固性.
显而易见,这种方法是向办法的调用者提醒了大概呈现的非常条件,这样调用者便可以对这些非常作出得当的呼应处理.以下代码表示我们是若何捕捉并且处理FileNotFoundException 这一非常的:
try
{
FileInputStream fis = new FileInputStream(args[0]);
// other code here ...
}
catch (FileNotFoundException fnfe)
{
System.out.println("File: " + args[0] + " not found. Aborting.");
System.exit(1);
}
Java非常处理还有其他一些优异的特点,这就是可查抄非常、用户定义非常和在JDK 1.4中推出的新型Java记录API(Java Logging API).java.lang.Exception的全部子类都属于可查抄非常.可查抄非常(checked exception)是扔出该非常的办法所必须提醒的非常,这种非常必须被捕捉大概向调用者提醒.用户定义非常(User-defined exceptions)是定制的非常类,这种非常类扩大了java.lang.Exception类.优异的Java程序规定定制非常封装、报告和处理他们自己独有的情形.最新的Java记录API(logging API)则可以集合记录非常.
以上是“Java编程中非常处理的优劣之道[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |