高等教育第讲异常.pptx
《高等教育第讲异常.pptx》由会员分享,可在线阅读,更多相关《高等教育第讲异常.pptx(39页珍藏版)》请在咨信网上搜索。
1、主要内容主要内容5.1 5.1 异常的基本概念异常的基本概念异常的基本概念异常的基本概念5.25.2异常处理机制异常处理机制异常处理机制异常处理机制5.35.3异常的处理异常的处理异常的处理异常的处理5.4 5.4 创建用户异常类创建用户异常类创建用户异常类创建用户异常类n异常异常-?运行时错误运行时错误编译时错误编译时错误n异常是导致程序中断运行的一种指令流,如果不对异常是导致程序中断运行的一种指令流,如果不对异常进行正确处理,则可能导致程序的中断执行,异常进行正确处理,则可能导致程序的中断执行,造成不必要的损失。造成不必要的损失。nJava中异常都是以类和对象的形式存在的。中异常都是以类和
2、对象的形式存在的。5.1 异常的基本概念异常的基本概念5.1 异常的基本概念异常的基本概念n n在在JavaJava编程语言中,异常就是程序在运行过程中由编程语言中,异常就是程序在运行过程中由于硬件设备问题、软件设计错误、缺陷等导致的程于硬件设备问题、软件设计错误、缺陷等导致的程序错误。在软件开发过程中,很多情况都将导致异序错误。在软件开发过程中,很多情况都将导致异常的产生,例如:常的产生,例如:(1)(1)想打开的文件不存在;想打开的文件不存在;(2)(2)网络连接中断;网络连接中断;(3)(3)操作数超出预定范围;操作数超出预定范围;(4)(4)正在装载的类文件丢失;正在装载的类文件丢失;
3、(5)(5)访问的数据库打不开;访问的数据库打不开;5.1 什么是异常什么是异常【例例例例5-15-1】文件操作将产生异常文件操作将产生异常/Exception1.java/Exception1.javaimport java.io.*;import java.io.*;class Exception1 class Exception1 public static void main(String args)public static void main(String args)FileInputStream fis=new FileInputStream(text.txt);FileInpu
4、tStream fis=new FileInputStream(text.txt);int b;int b;while(b=fis.read()!=-1)while(b=fis.read()!=-1)System.out.print(b);System.out.print(b);fis.close();fis.close();5.1 什么是异常什么是异常当编译这个程序时,屏幕上会输出下面的信息:当编译这个程序时,屏幕上会输出下面的信息:D:userchap08javac Exception1.javaD:userchap08javac Exception1.javaException1.jav
5、a:5:unreported exception java.io.FileNotFoundException;Exception1.java:5:unreported exception java.io.FileNotFoundException;must be caught or declared to be thrownmust be caught or declared to be thrown FileInputStream fis=new FileInputStream(text.txt);FileInputStream fis=new FileInputStream(text.tx
6、t);Exception1.java:7:unreported exception java.io.IOException;must be Exception1.java:7:unreported exception java.io.IOException;must be caught or declared to be throwncaught or declared to be thrown while(b=fis.read()!=-1)while(b=fis.read()!=-1)Exception1.java:10:unreported exception java.io.IOExce
7、ption;must be Exception1.java:10:unreported exception java.io.IOException;must be caught ordeclared to be throwncaught ordeclared to be thrown fis.close();fis.close();3 errors3 errors5.1 什么是异常什么是异常【例例例例 5-25-2】数组下标超界的例子数组下标超界的例子/Exception2.java/Exception2.javapublic class Exception2public class Exce
8、ption2 public static void main(String args)public static void main(String args)String langs =Java,Visaul Basic,C+;String langs =Java,Visaul Basic,C+;int i=0;int i=0;while(i 4)while(i javac Exception2.java D:userchap08javac Exception2.java D:userchap08java Exception2D:userchap08java Exception2JavaJav
9、aVisaul BasicVisaul BasicC+C+Exception in thread main Exception in thread main java.lang.ArrayIndexOutOfBoundsException:3java.lang.ArrayIndexOutOfBoundsException:3at Exception2.main(Exception2.java:8)at Exception2.main(Exception2.java:8)上面的例子编译可以通过,但运行时出现异常信息被抛出。在上面的例子编译可以通过,但运行时出现异常信息被抛出。在其循环被执行四次之
10、后,数组下标溢出,程序终止,并带有其循环被执行四次之后,数组下标溢出,程序终止,并带有错误信息,就象前面所示的程序那样。错误信息,就象前面所示的程序那样。5.1 什么是异常什么是异常【例例例例 5-35-3】被被0 0除的例子除的例子/Exception3.java/Exception3.javaclass Exception3class Exception3 public static void main(String args)public static void main(String args)int a=0;int a=0;System.out.println(5/a);System
11、.out.println(5/a);我们编译这个程序得到其字节码文件,然后运行它,屏幕上的显示如下:我们编译这个程序得到其字节码文件,然后运行它,屏幕上的显示如下:D:userchap08javac Exception3.javaD:userchap08javac Exception3.javaD:userchap08java Exception3D:userchap08java Exception3Exception in thread main java.lang.ArithmeticException:/by zeroException in thread main java.lang.
12、ArithmeticException:/by zero at Exception3.main(Exception3.java:5)at Exception3.main(Exception3.java:5)因为除数不能为因为除数不能为0 0,所以在程序运行的时候出现了除以,所以在程序运行的时候出现了除以0 0溢出的异常事件。溢出的异常事件。5.1 什么是异常什么是异常 在上面的三个例子中,我们都遇到了异常。屏幕上所显示在上面的三个例子中,我们都遇到了异常。屏幕上所显示的信息的信息 java.io.java.io.IOExceptionIOException、java.io.java.io.Fi
13、leNotFoundExceptioFileNotFoundException n、java.lang.java.lang.ArrayIndexOutOfBoundsExceptionArrayIndexOutOfBoundsException 以及以及java.lang.java.lang.ArithmeticExceptionArithmeticException 分别指明了异常的类型以及分别指明了异常的类型以及异常所在的包异常所在的包异常所在的包异常所在的包。同时我们也。同时我们也可以看到,对于某些异常,在程序中必须对它进行处理,否可以看到,对于某些异常,在程序中必须对它进行处理,否则编
14、译程序会指出错误则编译程序会指出错误(如例如例8-1)8-1)。但对另一些异常,在程序。但对另一些异常,在程序中可以不做处理,而直接由运行时系统来处理中可以不做处理,而直接由运行时系统来处理(如例如例8-3)8-3)。在。在下节中,我们将详细了解这两类异常,以及在程序中如何处下节中,我们将详细了解这两类异常,以及在程序中如何处理这两类异常。理这两类异常。5.1.1 异常类的继承结构异常类的继承结构在在javajava类库的每个包中都定义了自己的异常类,所有这些类都直接或间接地类库的每个包中都定义了自己的异常类,所有这些类都直接或间接地继承于类继承于类ThrowableThrowable。Jav
15、aJava中的异常事件分为两大类。一类继承于类中的异常事件分为两大类。一类继承于类ErrorError,它的继承关系如下:,它的继承关系如下:java.lang.Objectjava.lang.Object java.lang.Throwable java.lang.Throwable java.lang.Error java.lang.Error常见的错误类常见的错误类(Error)(Error)有有:AnnotationFormatError,AssertionError,AWTError,LinkageError,AnnotationFormatError,AssertionError,
16、AWTError,LinkageError,CoderMalfunctionError,FactoryConfigurationError,ThreadDeath,CoderMalfunctionError,FactoryConfigurationError,ThreadDeath,VirtualMachineError,TransformerFactoryConfigurationErrorVirtualMachineError,TransformerFactoryConfigurationError等,等,包括包括动态链接失败、线程死锁、图形界面错误、虚拟机错误动态链接失败、线程死锁、图形
17、界面错误、虚拟机错误动态链接失败、线程死锁、图形界面错误、虚拟机错误动态链接失败、线程死锁、图形界面错误、虚拟机错误等,通常等,通常JavaJava程序不应该捕获这类异常,就算发生了这类异常,程序也无法处理的程序不应该捕获这类异常,就算发生了这类异常,程序也无法处理的。5.1.1 异常类的继承结构异常类的继承结构另外一类异常则继承于类另外一类异常则继承于类ExceptionException,这是,这是JavaJava程序中所大量处理的异常。它的继承程序中所大量处理的异常。它的继承关系如下:关系如下:java.lang.Objectjava.lang.Object java.lang.Thro
18、wable java.lang.Throwable java.lang.Exception java.lang.Exception常见的异常类有:常见的异常类有:AclNotFoundException,ApplicationException,AWTException,AclNotFoundException,ApplicationException,AWTException,BackingStoreException,ClassNotFoundException,CloneNotSupportedException,BackingStoreException,ClassNotFoundEx
19、ception,CloneNotSupportedException,DataFormatException,DestroyFailedException,ExecutionException,PrintException,DataFormatException,DestroyFailedException,ExecutionException,PrintException,GeneralSecurityException,InterruptedException,InvalidPreferencesFormatException,GeneralSecurityException,Interr
20、uptedException,InvalidPreferencesFormatException,RuntimeException,SAXException,SQLException,TimeoutException,RuntimeException,SAXException,SQLException,TimeoutException,TransformerException,UnsupportedCallbackException,TransformerException,UnsupportedCallbackException,UnsupportedLookAndFeelException
21、,URISyntaxException,UserException,UnsupportedLookAndFeelException,URISyntaxException,UserException,XAException,XMLParseException,XPathExceptionXAException,XMLParseException,XPathException 等等等等 其中包括了其中包括了运行时异常运行时异常运行时异常运行时异常和和非运行时异常。非运行时异常。非运行时异常。非运行时异常。5.1.1 异常类的继承结构异常类的继承结构 5.1.1 异常类的继承结构异常类的继承结构 常
22、见的运行时异常如下:常见的运行时异常如下:(1)类型转换异常ClassCastExceptionString strName=new string(“123”);int nNumber=(int)strName;(2)数组超界异常ArrayIndexOutBoundsExceptionint b=new int10;b10=1000;(3)指定数组维数为负值异常NegativeArraySizeExceptionb-1=1001;(4)算术异常ArithmeticExceptionint b=0;a=500/b;(5)Java系统内部异常InternalExceptionJVM抛出的异常。(6
23、)类型不符合异常IncompatibleTypeExceptionint n=12345;String s=(String)n;(7)内存溢出异常OutOfMemeoryException(8)没有找到类定义异常NoClassDefFoundExceptionaClass aa=new aClas();/但aClass类未定义。(9)空指针异常 NullPointerExceptionint b;b0=99;/没有实例化,就访问,将产生空指针。5.1.1 异常类的继承结构异常类的继承结构 常见的非运行时异常如下:(1)ClassNotFoundException:找不到类或接口所产生的异常(2
24、)CloneNotSupportedException:使用对象的 clone 方法但无法执行 Cloneable 所产生的异常(3)IllegalAccessException:类定义不明确所产生的异常。例如:类不为 public,或是包含一个类定义在另一个类库内(4)IOException:在一般情况下不能完成I/O操作所产生的异常(5)EOFException:打开文件没有数据可以读取所产生的异常(6)FileNotFoundException:在文件系统中,找不到文件名称或路径所产生(7)InterruptedIOException:目前线程等待执行,另一线程中断目前线程I/O运行所产
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高等教育 异常
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。