欢迎来到天天文库
浏览记录
ID:33976370
大小:50.30 KB
页数:5页
时间:2019-03-03
《《异常的处理》doc版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、异常的概念:所谓异常就是程序运行过程中会出现一些特殊的情况,不能正常运行。在日常生活中,问题也是一个类,也是一类具体是事物,我们可以通过java面向对象的形式把它封装成一个类。异常情况分为两种,一种是严重的,一种是不严重的,严重的情况,我们用Error来描述,通常我们不进行处理;而不严重的情况,我们用Exception类来描述,它是可以处理的:1、Throwable类有两个子类,一个就是Error类,另一个就是Exception类。2.处理异常的机制:格式如下:try{需要检测的程序;}catch
2、(Exceptione){捕获的异常;}finally{必须执行的语句;}3.Throwable类中常用到的方法:getMessage()获取异常的信息:到底是什么错误;toString()获取异常的名称、信息,返回字符串;printStrackTrace()获取异常的名称、信息、位置;PrintStackTrace(PrintStreams)打印成为报告输出;4.简单分析一下:throws和throw的区别:throws用来声明异常,放到函数后面throw用来抛出异常,放到函数内部下面用一个代码来体
3、现这些概念:classExceptionDemo1{publicstaticvoidmain(String[]args)//throwsException//把异常抛给虚拟机处理{Ridr=newRid();try{intx=r.rid(4,0);System.out.println("x="+x);}catch(Exceptione)//Exceptione=newArithmeticException();//其实这是个多态的体现,Exception是一个父类,引用指向了子类的对象{System.
4、out.println("出现异常");System.out.println(e.getMessage());//获取异常的信息;System.out.println(e.toString());//获取异常的名称、信息;toString可以不写,默认调用e.printStackTrace();//获取异常的名称、信息、位置;它是void类型,里面定义了打印功能,不需要输出}System.out.println("over");}}classRid{publicintrid(inta,intb)thr
5、owsException//把异常抛给调用者,就是主函数{returna/b;}}5.对应多异常的处理:(1)、建议对异常的声明要具体化,这样处理起来更有针对性;(2)、如果声明多个异常,那么就要对应多个catch块,但是不要定义多余的catch块。(3)、如果catch()中,存在子父类继承的关系,那么要把父类的catch块放到最下面;下面通过一个代码体现一下:classExceptionDemo2{publicstaticvoidmain(String[]args){Mainm=newMain()
6、;try{intx=m.function(4,0);System.out.println("x="+x);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("角标越界了");}catch(ArithmeticExceptione){System.out.println("运算出错");}catch(Exceptione){System.out.println("chucuo");}System.out.println("over");
7、}}classMain{publicintfunction(inta,intb)//抛异常时,声明的更加详细throwsArrayIndexOutOfBoundsException,ArithmeticException{int[]arr=newint[a];System.out.println(arr[4]);returna/b;}}
此文档下载收益归作者所有