欢迎来到天天文库
浏览记录
ID:20388146
大小:65.50 KB
页数:10页
时间:2018-10-10
《6-检查型异常 自定义异常》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2、检查型异常(1)处理方式:throws(抛出):消极处理方式,产生异常中断执行程序trycatch(捕获):积极处理方式,产生异常捕获后,继续执行程序例1:throws(抛出)在方法头部声明可能抛出的检查型异常importjava.io.*;classdemo{publicstaticvoidmain(Stringargs[])throwsException{InputStreamin=newFileInputStream("d:\d.txt");//创建文件输入流对象}}Throwable类中提
2、供了printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容。还提供了getMassage()方法,用来得到有关异常事件的信息。例2:printStackTrace()方法importjava.io.*;classdemo{publicstaticvoidmain(Stringargs[]){try{InputStreamin=newFileInputStream("d:\d.txt");//创建文件输入流对象}catch(Exceptionex){ex.printStackTra
3、ce();//输出异常信息}}}例3:importjava.io.*;classdemo{publicstaticvoidmain(Stringargs[]){try{InputStreamin=newFileInputStream("d:\d.txt");//创建文件输入流对象}catch(Exceptionex){}System.out.println("hello!");}}结果是:hello!例4:getMessage()方法importjava.io.*;classdemo{publicst
4、aticvoidmain(Stringargs[]){inti=0;try{i=3/0;}catch(Exceptionex){System.out.println("异常是"+ex.getMessage());//获得异常信息}System.out.println("继续执行");}}结果:异常是/byzero继续执行(2)捕获的顺序:一个try对应多个catch,先子类后父类,(从小到大的顺序)。如果子类已经捕获处理,则父类不再处理。无论异常是否产生,finally语句块的内容都将被执行(特点)fi
5、nally语句块的作用:可以防止资源泄露;给程序一个统一的出口finally语句块内部可以有trycatch如:try{}catch(异常类型1异常类型的对象){捕获异常之后要处理的内容}finally{try{}catch(异常类型2异常类型的对象){}}例:importjava.io.*;classdemo{publicstaticvoidmain(Stringargs[])throwsException{try{InputStreamin=newFileInputStream("d:\d.txt
6、");}catch(IOExceptionio){io.printStackTrace();}catch(Exceptionex){ex.printStackTrace();}finally{System.out.println("over");}}}(3)常见的检查型异常有:①包java.lang中声明的标准检查型异常·ClassNotFoundException指定名字的类或接口未找到。·CloneNotSupportedException不支持克隆异常,当某对象调用了Object类中的方法clon
7、e时,而该对象所在的类未实现接口Cloneable。·IllegalAccessException在调用某方法时,找不到该方法的声明。例如,某方法在另一个包的类中声明,而该方法未声明为public·InstantiationException实例化异常。试图创建抽象类或接口的对象。·InterruptedException中断异常。其他线程中断了当前线程②包java.io中声明的标准检查型异常java.io.IOException输入输出异常·java.io.EOFException文件结束异常·jav
8、a.io.FileNotFoundException未找到文件·java.io.InterruptedIOExceptionI/O中断异常·java.io.UTFDataFormatExceptionUnicode文本格式的数据格式错误③包java.net中声明的标准检查型异常·java.net.MalformedURLException出现了一个不完整的URL·java.net.ProtocolException网络协议的某些方面执行有误
此文档下载收益归作者所有