欢迎来到天天文库
浏览记录
ID:44984839
大小:151.00 KB
页数:21页
时间:2019-11-06
《第4章 异常处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、异常处理要点:try/catch/finally机制throw是故意产生异常,用于方法体内throws用于方法的声明,它把方法产生的异常交给调用该方法的另外一个方法处理。异常简介在java中,程序于编译时产生的错误一般为语法错误(syntaxerror),而在运行时产生的错误则称为运行时期错误(runtimeerror)。编译错误由编译程序javac产生,而运行时的错误通常称为异常(Exception),异常也是java中的类。【例1】除数为0的异常publicclassEx1{intx;publicstaticvoidm
2、ain(Stringargs[]){Ex1c=newEx1();inty;y=3/c.x;System.out.println(“ok”);}}异常的层次结构:ThrowableErrorExceptionVirtualMachineErrorAwtErrorOutOfMerroyErrorNoclassDeFoundErrorRuntimeExceptionIOExceptionArithmeticExceptionNullpointerExceptionIndexOutOfBoundsExceptionFileNotF
3、oundExceptionEOFException…………图4.3异常的层次结构图常用异常类RuntimeException类名称含义ArithmeticException算术运算错误,例如除数为0ArrayIndexOutOfBoundsException数组元素下标越界异常ArrayStoreException数组存入元素类型与声明类型不符IllegalArgumentException非法参数NumberFormatException参数格式不对IllegalThreadStateException要求进行的运算与线
4、程状态不符NegativeArraySizeException数组长度为负NullPointerException无分配存储空间SecurityException存取违反安全规定RuntimeException类名称含义ClassNotFoundException找不到类IllegalAccessException无法读取某java类InstantiationException建立新对象错误FileNotFoundException找不到存取的文件EOFException文件指针已移至文件结尾InterruptedExce
5、ption某一线程在运行时,被另一线程中断NoSuchMethodException找不到要引用的方法MalformedURLExceptionURL的格式有误UnknowHostException计算机主机名有误try/catch/finally机制try{可能出现异常的程序代码}catch(异常类名1异常对象名1){异常类名1对应的异常处理代码}catch(异常类名2异常对象名2){异常类名2对应的异常处理代码}…finally{必须执行的代码}对Ex1.java进行修改【例2】publicclassEx1{intx;
6、publicstaticvoidmain(String[]args){Ex1c=newEx1();inty;try{//可能出现异常的代码y=3/c.x;System.out.println("ok");}catch(ArithmeticExceptione){//捕获异常System.out.println("dividebyzero");}}}获得异常的有关信息e.printStackTrace()指出异常的类型、性质、栈层次以及出现在程序中的位置等信息e.getMessage()输出错误的性质e.toString()
7、给出异常的类型及性质【例3】classEx3{publicstaticvoidmain(Stringargs[]){try{intb=Integer.parseInt(“aaa”);System.out.println(b);}catch(Exceptione){e.printStackTrace();System.out.println(“getmessage:”+e.getMessage());System.out.println(“toString:”+e.toString());}}}抛出异常如果程序设计者要故意产
8、生异常,则可以用throw来抛出异常:语法格式:throw异常对象名;其中异常对象必须是Throwable类或其子类的实例对象。例如,如果要求所输入数字不能是13,这时可以设计程序一遇到13就抛出异常。【例4】classEx4{intx=13;publicstaticvoidmain(Stringarg
此文档下载收益归作者所有