第8章-异常及其处理_第1页
第8章-异常及其处理_第2页
第8章-异常及其处理_第3页
第8章-异常及其处理_第4页
第8章-异常及其处理_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

Java语言程序设计第8章异常及其处理计算机学院核心要点捕获异常1声明异常2抛出异常3创建自己的异常45异常的概念1.1

异常程序中的错误分三类:语法错误通过编译其检查定位逻辑错误通过程序员调试解决运行时错误通过异常处理来解决1.1什么是异常?异常,也称为例外,表示程序运行中出现意外情况的一个信号。异常是一种特殊的运行错误对象,一旦产生会中断程序的正常执行。1.2异常的分类1.2异常类产生运行时错误的情况很多,需要多种不同的异常信号来表示。Java提供丰富的异常类,异常是异常类的对象。1.2异常类1.2异常类常见系统预定义异常类:描述ClassNotFoundException试图使用一个不存在的类ArrayIndexOutOfBoundsException试图访问不存在的数组元素FileNotFoundException试图打开一个不存在的文件CloneNotSupportedException试图克隆一个没有实现Cloneable接口类的实例IOException输入无效数据,打开不存在的文件等NullPointException访问空引用1.3

如何处理异常问题?可以通过对程序可能会产生的异常进行处理,以保证程序的正常运行。

try{//可能会发生异常的语句}catch(异常对象){//处理异常}1.4

异常处理机制为程序员提供一种解决运行时错误的方法。当程序遇到运行时错误时,会产生并抛出一个信号(异常)通过try/catch语句捕获这个信号(异常)根据这个信号(异常)的不同进行相应的处理。1.5

异常处理机制涉及到的问题:异常的定义(异常类)异常的抛出(throw)异常的捕获处理(try-catch)异常的声明/报告(throws)2.捕获异常要保证程序在异常抛出后能够正常运行,需要对异常进行处理。通过try-catch语句对异常进行捕获并处理2.1异常处理流程未产生异常情况:try语句结束后异常处理结束产生异常并捕获成功情况:try语句在产生异常处中断,转到catch语句执行;产生异常未捕获情况:所在方法中断;2.1异常处理语法try{

可能抛出异常的语句组;}catch(异常类1e){

异常处理语句组1;}catch(异常类ne){

异常处理语句组n;}finally{

语句组;}2.2

多重catch子句对可能产生的多种异常可以通过多个catch子句进行捕获和分别处理。注意:多个catch子句中,前面catch的异常不能是后面catch异常的父类一般把捕获Exception异常的catch子句写在最后,能够捕获所有的异常。2.3

finally子句try-catch语句后可以加finally子句写在finally子句中的语句无论异常是否产生,无论产生的异常是否捕获成功都要执行练习有如下语句inta=39;intb=0;intc=a/b;System.out.println("除法完成。");把上面的语句写到一个方法中,思考哪句话运行时会有错误?如何去处理这个错误?那么“除法完成”这句话能否运行到?编写异常的捕获,来处理这几条语句,并打印异常信息以及“除数不能为0。”信息。无论有否异常的发生,都要打印输出“方法完成。”3.异常声明(异常报告)如果一个方法中存在未处理的异常,则需要在该方法头上用throws关键字声明该异常。通过异常声明可以将异常报告给方法的调用者。RuntimeException及其子类的异常可以不声明。4.抛出异常系统预定义异常系统自动抛出通过throw抛出自定义异常通过throw抛出注意:throw后不能写语句;练习编写帐户类Account:属性:帐号,余额存钱方法save(doubled),增加收入后,打印输出余额;取钱方法pay(doubled),减少收入后,打印输出余额在取钱方法中,做异常处理,当余额小于0时,抛出余额不足的异常BallanceNotEnoughException编写测试类,调用取钱方法时,捕获余额不足的异常,并输出异常信息“余额不足!”;实验创建这样一个程序,它企图引用一个指向空值的变量,并尝试用一个不正确的下标去访问一个数组,如用一个负的下标值在一个字符串中得到一个字符。执行这个程序并描述所看到的错误信息。写一个程序,用随机选择的100个元素创建一个数组(Math.random()*1000,循环100次),从键盘输入数组的下标,然后显示这个指定下标的数组元素,如果指定下标越界ArrayIndexOutOfBoundsException,则显示信息“outofBound”。5创建自己的异常自定义异常类程序员可以自定义异常类,用于描述特定的异常情况继承Exception类就可以定义自己的异常类5创建自己的异常异常中的方法publicStringgetMessage()publicStringtoString()publicvoidprintStackTrace()作业自定义异常FailureException表示不及格;创建程序,显示用户输入的成绩,当

温馨提示

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

评论

0/150

提交评论