《Java与面向对象程序》-5.1异常及其分类_第1页
《Java与面向对象程序》-5.1异常及其分类_第2页
《Java与面向对象程序》-5.1异常及其分类_第3页
《Java与面向对象程序》-5.1异常及其分类_第4页
《Java与面向对象程序》-5.1异常及其分类_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习目标掌握Java语言中异常的概念;了解异常的分类;主要内容什么是异常异常分类Java程序中的错误可以分为三类:编译错误、运行错误和逻辑错误。编译错误是因为没有遵循Java语言的语法规则而产生的,这种错误要在编译阶段排除,否则程序不能运行;运行错误是指程序在运行过程中抛出的一个使程序不能继续执行下去的错误,如数组下标越界、除数为0、虚拟机崩溃;逻辑错误是指程序能正常运行,但是运行结果不是我们所期待的,如程序本来是求两个数的乘积,但因为表达式错误却得出两个数的差。1.什么是异常异常—Exception是一种程序运行过程中可能发生的错误,它会中断指令的正常执行与另一种运行错误“Error”不同,程序中出现异常后,经过恰当的处理,程序可以继续运行;而Error是不可处理的,如:Java虚拟机崩溃、内存溢出等情况一旦出现,程序立即停止运行。1.什么是异常【例5-1】存在异常的程序//Ex5_1.javapublicclassEx5_1{publicstaticvoidmain(Stringargs[]){System.out.println("**********计算开始***********");inti=10; //定义整型变量intj=0; //定义整型变量inttemp=i/j; System.out.println(“两个数字相除的结果:”+temp);System.out.println("**********计算结束***********");}}大家思考:程序能运行出结果么?

//此处产生了异常1.什么是异常控制台出现了下面的异常信息。

输出的信息说明,在main方法中出现了类型为“java.lang.ArithmeticException”的异常(表示一个算术运算异常),异常的原因是“/byzero”,即用0做除数。后面的信息表示调用Ex5_1.main方法时产生了异常(在程序ExceptionDemo01的第7行)。2.异常分类异常类Exception与错误类Error都继承自可抛出类Throwable,异常类及其子类的层次结构如图所示。RuntimeExceptionClassNotFoundExceptionIOException2.异常分类Throwable的两个直接子类:Error代表程序中运行过程中产生的致命性错误。(如程序运行时磁盘空间不足,虚拟机错误、内存溢出等,这种严重的错误仅靠修改程序本身是不能恢复执行的。)Exception代表非致命性错误。(如数组下标越界、除法表达式的分母为0等。这种不正常状态可通过异常处理,而使程序继续运行。)Throwable类的构造方法是:Throwable(Stringmessage)该构造方法是以message的内容为错误信息串(即对错误信息的描述)来创建Throwable对象,并记录异常发生的位置。

2.异常分类返回类型方法名功能描述publicStringgetMessage()返回字符串变量message的内容,该内容是对异常的描述信息publicStringtoString()返回当前对象包含的错误信息publicvoidprintStackTrace()输出当前对象的toString()返回值,以及异常发生的地点和方法调用顺序Throwable类中的常用方法2.异常分类Exception类的子类分为两种:一种是RuntimeException类及其派生类,称为运行时异常,也叫非检查型异常;另外一部分是除RuntimeException类及其派生类之外的所有其他类,称为检查型异常。非检查型异常(RuntimeException)表示程序在设计中出现了问题。如在程序设计中,由于考虑不周而使数组下标超出了边界范围、用0做除数、引用了一个空值对象变量等,对于这类异常,如果程序设计过程正确,则该异常不会出现,因此编译器对这类异常在程序中是否进行了处理不进行检查。2.异常分类常见的非检查型异常及其含义如下表所示异常类名含义ArithmeticException算数运算异常,如除数为0NullPointerException空指针异常,如对象没被实例化时访问对象的属性或方法NegativeArraySizeException创建带负维数大小的数组时,就会产生该类异常ArrayIndexOutOfBoundsException数组下标超出范围异常UnknownTypeException未知种类的类型异常2.异常分类检查型异常检查型异常是指除RuntimeException类及其子类之外的其他异常。在Java程序编译时要对这类异常是否进行了处理进行检查。当编译器检查到程序中没有对这类异常进行处理时,会产生编译错误。常见的检查型异常及其含义如下表所示。异常类名含义ClassNotFoundException要加载的类或接口不存在异常IOException输入输出异常FileNotFoundException文件找不到异常InterruptedException线程的等待、休眠或占用状态被中断异常SQLException数据库访问错误或其他错误信息的异常Java语言中异常的概念异常的分类ThrowableErrorException磁盘空间不足虚拟机错误内存溢出非检查型异常RuntimeException检查型异常ArithmeticExceptionNullPointerExceptionNegativeArraySizeExceptionArra

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论