浅谈Java异常(页)

浅谈Java异常(页)

ID:47837096

大小:165.00 KB

页数:11页

时间:2019-11-21

浅谈Java异常(页)_第1页
浅谈Java异常(页)_第2页
浅谈Java异常(页)_第3页
浅谈Java异常(页)_第4页
浅谈Java异常(页)_第5页
资源描述:

《浅谈Java异常(页)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.异常的好处界常带來诸多好处。首先,它将错误处理代码从正常代码(normalcode)中分离出來。你可以将那些执行概率为99.9%的代码封装在一个Uy块内,然后将界常处理代码(这些代码是不经常执行的)置于catchT句屮。这种方式的好处是,正常代码因此而更简洁。如果你不知道如何处理某个方法屮的一个特定错谋,那么你可以在方法中抛出异常,将处理权交给其他人。如果你抛出一个检查杲常(checkedexception),那么Java编译器将强制客户程序员(cilentprogrammer)处理这个潜在异常,或者捕捉Z,或者在方法的throws子句中声明之。Ja

2、va编译器确保检查异常被处理,这使得Java程序更为健壮。2.Throwable类Throwable类是Java语言中所有错误或界常的超类(这就是一切皆可抛的东四)。它有两个子类:Error和Exception。Error:用于指示合理的应用程序不应该试图捕获的严重问题。这种悄况是很人的问题,大到你不能处理了,所以听Z任之就彳亍了,你不用管它。比如说VinualMachineErroi':当Java虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错谋。好吧,就算这个异常的存在了,那么应该何时,如何处理它呢??交给JVM吧,没有比它更专业的了。Except

3、ion:它指出了合理的应用程序想要捕获的条件。Exception又分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主耍是CheckedException盂耍丿IJtry.・・catch・・・显示tl勺扌甫获,ifljUncheckedException不需要捕获。通常UncheckedException乂叫做RuntimeExceptiion。《effectivejava》扌Hill:对于可恢复的条件使用被检査的界常(CheckedException),对于程序错谋(言外Z意不可

4、恢复,大错已经酿成)使用运行时异常(Runtiir.eException)o我们常见II勺RuntimeExcepitonYfIllegalArgumentExceptionxillegalstateException^NullPointerException>IndcxOutOfBoundsExccption等等。刘•于另些CheckedException就不胜枚举了,我们在编写程序过程中try...catch...捕捉的异常都是CheckedExceptionoio包屮的lOException及其子类,这些都是CheckedException<>3.

5、检查型异常和非检査型异常检查型异常是Exception的子类(或者Exception类本身),但不包括RuntimeException和它的子类。非检查型异常是RuntimeException和它的任何子类。Erroi•类及其子类也是检查型的(错误),但是你应该仅着眼于界常,你所做的应该是决定抛illRuntimeException的了类(非检查异常)还是Exception的了类(检查异常)如果抛出了检查型片常(而没有捕获它),那么你需要在方法的throws子句中声明该界常。客户程序员使川这个方法,他要么在具方法内捕获并处理这个异常,要么还在throws

6、了句屮抛出。检杏型异常强制客户程序员对可能抛出的异常采取措施。如果你抛出的是非检查型异常,那么客户程序员可以决定捕获与否。然而,编译器并不强制客户程序员对非检查型异常采取措施。事实上,他们甚至不知道可能这些界常。显然,在非检查型界常上客户程序员会少费些脑筋。1.简单的原则如果希望客户程序员有意识地采取措施,那么抛出检查型界常。一般而言,表示类的误用的弄常应该是非检查型弄常。String类的chartAt()7Z法抛出的StringlndexOutOfBoundsException就是一个非检查型异常。String类的设计者并不打算强制客户程序员每次调用c

7、harAt(intindex)时都检查index参数的合法性。另一方面,java.io.FilelnputStream类的read()方法抛H泊勺是IOException,这是一个检查异常。这个异常表明尝试读取文件时出错了。这并不意味着客户程序员错谋地使用了FilelnputStream类,而是说这个方法无法履行它地职责,即从文件中读岀下一个字节。FilelnputStream类地设计者认为这个意外情况很普遍,也很重要,因而强制客户程序员处理Zo这就是窍门所在。如果意外情况是方法无法履行职责,而你又认为它很普遍或很重婆,客八程序员必须采取措施,那么抛出检

8、查型界常。否则,抛岀非检查型界常。2.结论异常设计原则:a.如果方法遭遇了一个无

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。