Java--异常处理进阶.doc

Java--异常处理进阶.doc

ID:57307006

大小:16.50 KB

页数:2页

时间:2020-08-11

Java--异常处理进阶.doc_第1页
Java--异常处理进阶.doc_第2页
资源描述:

《Java--异常处理进阶.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、异常进阶一.Exception类与RuntimeException在Java面试中经常会询问Exception类与RuntimeException的区别,如果想理解这两个类的区别可以看如下代码:【字符串类型转化整型】publicclassRuntimeExceptionDemo01{publicstaticvoidmain(Stringargs[]){Stringstr="123";//定义字符串,全部由数字组成inttemp=Integer.parseInt(str);//将字符串变为int类型System.out.println(temp*temp);//

2、计算乘方}};从上面将字符串转化为整型的代码来看,Integer因为开头首字母大写,所以肯定是一个类,而parseInt()方法可以直接由类名称调用,所以此方法肯定是一个静态方法,此方法定义如下:publicstaticintparseInt(Strings)throwsNumberFormatException;以上方法在声明时使用了throws关键字,但是在方法调用时并没用使用try,,catch进行处理,这是为什么?因为NumberFormatException属于RuntimeException的子类,那么这时既可以清楚地知道以下概念:(1)Excep

3、tion在程序中必须使用try..catch进行处理(2)RuntimeException可以不使用try..catch进行处理,但是如果有异常产生,则异常将由JVM进行处理。对于RuntimeException的子类最好也使用异常处理机制,否则产生异常时会导致程序中断。二.自定义异常类在Java中已经提供了大量的异常类,但是这些异常类有时候难以满足开发者的要求,所以用户可以根据自己的需求来定义需要的异常类。定义异常类只需要继承Exception类即可。【自定义的异常类】classMyExceptionextendsException{//自定义异常类,继承E

4、xception类publicMyException(Stringmsg){super(msg);//调用Exception类中有一个参数的构造方法,传递错误信息}};publicclassDefaultException{publicstaticvoidmain(Stringargs[]){try{thrownewMyException("自定义异常。");//抛出异常}catch(Exceptione){System.out.println(e);}}}运行结果:MyException:自定义异常;三.断言在jdk1.4之后,在Java中增加了断言的功能。

5、断言就是肯定某个结果的返回值是正确的,如果最终的返回结果是错误的,则通过断言检查肯定会提示错误信息。断言:assertBoolean表达式;assertBoolean表达式:详细的信息如果以上的boolean表达式的结果为true,则什么错误信息都不会提示:如果为false,则会提示错误信息;如果没有声明信息的描述,则系统会使用默认的错误信息提示方式。【使用断言】puboicclassTestAssert{publicstaticvoidmain(Stringargs[]){intx[]={1,2,3};assertx.length==0;//加入断言,肯定是

6、错误的}}以上的程序中,数组x的长度是不可能为0的,所以,此处的断言就是错误的,但此时运行程序并不会得到任何的结果,这是因为Java在设计次关键字时,考虑了系统的应用,为了防止某些用户使用assert作为关键字,所以在程序运行正常的情况下断言不会起任何作用。断言的使用:(1)虽然断言返回的是boolean值,但是并不能将其作为条件判断语句(2)断言虽然有检查运行结果的结果,但是在开发中并不提倡使用断言

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

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

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