Java异常使用之一.ppt_第1页
Java异常使用之一.ppt_第2页
Java异常使用之一.ppt_第3页
Java异常使用之一.ppt_第4页
Java异常使用之一.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1 第十二讲Java异常处理机制之一 基本要求 1 了解异常2 异常处理机制 try catch finally 2 一 异常理解 对于一个程序来说 可能会发生三种错误 语法错误 逻辑错误和运行时错误 1 语法错误的产生是在我们编写代码的过程可能输入的字符错误 不符合相应的命令格式等 2 逻辑错误是程序的运行结果和我们预想的结果不一致 这是一种难以调试的错误 3 运行时错误是程序在运行中出现意料不到情况 如除数为零 数组越界等 使用Java的异常处理机制主要是处理运行时的错误 异常就是运行时错误 系统抛出的 3 错误与异常 根据错误的性质将运行错误分为致命性错误和异常两种类型1 致命性错误程序进入了死循环或内存溢出 这类现象称为致命性错误 简称为错误 错误只能在编程阶段解决 运行时程序本身无法解决 只能依靠其他程序干预 否则会一直处于一种不正常的状态 2 异常运算时除数为0 或操作数超出数据范围 打开一个文件时发现文件不存在 网络连接中断等 这类现象称为异常 对于异常情况 可在源程序中加入异常处理代码 当程序出现异常时 由异常处理代码调整程序运行流程 使程序仍可正常运行直到正常结束 由于异常是可以检测和处理的 所以产生了相应的异常处理机制 而错误处理一般由系统承担 4 二 异常的概念 在Java语言中 异常又称为例外 是运行时错误 由于Java程序是在网络环境下运行的 因此 安全应当是首要考虑的因素 为了能够及时有效地处理程序中的运行错误 Java专门引入了异常类和异常类层次 产生异常的原因有三种 第一种是Java内部错误发生时 Java虚拟机产生的异常 第二种是编写的程序代码中的错误所产生的异常 第三种是通过throw语句手动生成的异常 下节课学习 这种异常称为 检查的异常 一般被用来告知该方法的调用者一些必要的信息 5 例1异常演示 publicclassMain publicstaticvoidmain String args inta 5 b 0 System out println a b Exceptioninthread main java lang ArithmeticException byzeroatMain main ddd java 7 6 例2异常演示 publicclassMain publicstaticvoidmain String args String a newString 10 for inti 1 i 10 i a i aa i for inti 1 i 10 i System out println a i Exceptioninthread main java lang ArrayIndexOutOfBoundsException 10atMain main ddd java 8 7 常碰到的异常 算术异常类 ArithmeticException空指针异常类 NullPointerException类型强制转换异常 ClassCastException数组负下标异常 NegativeArrayException数组下标越界异常 ArrayIndexOutOfBoundsException违背安全原则异常 SecturityException文件已结束异常 EOFException文件未找到异常 FileNotFoundException字符串转换为数字异常 NumberFormatException操作数据库异常 SQLException输入输出异常 IOException方法未找到异常 NoSuchMethodException 8 三 Java中处理异常 1 简单了解Java通过面向对象的方法来处理异常 在Java中 任何异常对象都是java lang Throwablel类或其子类的对象 即所有异常类型都是内置类Throwable的子类 因此 Throwable在异常类层次结构的顶层 紧接着Throwable下面的是把异常分成两个不同分支的子类 Exception和Error如 9 异常类的层次结构 10 2 处理机制Java中处理异常 有两种方式 一种积极的处理异常的方式 一种是消极的处理异常的方法 二者各自用在不同的场合 积极的处理异常的方式 主要是使用try catch语句来解决问题消极的异常处理方式 主要是利用throw和throws关键字实现 throw表示主动抛出一个异常 手动中止程序运行 throws关键字用在方法的后面表示声明一个异常 告诉使用该方法的使用者方法具有那些异常 使用者可以根据自己的情况处理这些声明的异常 11 四 积极处理异常机制 try catch 在Java中 通常是采用try catch语句捕获异常并处理 捕获异常是一种积极的处理异常的方式 语法如下 try statement block1 catch ThrowablethrowableObj 可有多个catch分支进行捕获 也可缺省 statement block2 finally 该部分可以缺省 statement block3 其流程如下 当程序中抛出一个异常后 程序从程序中导致异常的代码处跳出 java虚拟机检测寻找和try关键字匹配的处理该异常的catch块 如果找到 将控制权交到catch块中的代码 然后继续往下执行程序 try块中发生异常的代码不会被重新执行 如果没有找到处理该异常的catch块 在所有的finally块代码被执行和当前线程的所属的ThreadGroup的uncaughtException方法被调用后 遇到异常的当前线程被终止 如图 12 13 例3try catch演示 publicclassMain publicstaticvoidmain String args try inta 5 b 0 System out println a b catch ArithmeticExceptione System out println 除数不能为零 e printStackTrace 14 例4多个catch分支演示 publicclassddd publicstaticvoidmain String args try String a newString 10 for inti 1 i 10 i a i aa i for inti 1 i 10 i System out println a i catch ArithmeticExceptione System out println 除数不能为零 catch ArrayIndexOutOfBoundsExceptione System out println 数组越界 15 五 总结 try catch finally用法 在实际中 有些程序不需要try catch也可以运行 一般在无法查找运行时错误时 把认为容易出错的代码放到try中 catch进行判断以增强程序的健壮性 在一些程序必须使用try catch语句进行判断的 如文件的读写等 16 练习 改写下面程序 增强程序健壮性 importjava util Scanner publicclassddd publicstaticvoidmain String args Scannercin newScanner System in Stringstr cin next intn str length int a newint n for inti 0 i

温馨提示

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

评论

0/150

提交评论