第6章 异常.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 异常

目标 异常概述 什么是异常 异常是导致程序中断运行的一种指令流,如果不对异常进行正确的处理,可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须考虑各种异常的发生,并进行正确的处理,才能保证程序正常的执行。 如:除数为0,数组越界,文件找不到等都属于异常。 认识异常: public class ExceptionDemo01{ public static void main(String args[]){ System.out.println(********** 计算开始 ***********) ; int i = 10 ; int j = 0 ; int temp = i / j ; System.out.println(两个数字相除的结果: + temp) ; System.out.println(********** 计算结束 ***********) ; } }; 从运行结果来看,如果对异常不进行处理的话,则一旦出现异常后,程序就会立即退出,所以后面的两条语句并没有打印出来。要想保证以上的程序即使出现异常之后也可以正确执行,就必须进行异常的处理。 异常的处理我们稍后再介绍。 Java异常分类 在整个Java异常结构中,实际上最常用的有两类,它们都继承Throwable类 Error(错误):JVM系统内部错误、程序中无法处理 Exception(异常):一般指程序中出现的问题,可以直接使用try ….catch处理。 例如:对负数开平方根、空指针访问、试图读取不存在的文件、网络连接中断等。 异常概述-1 从编程角度考虑将异常(Exception)分为以下两类 : 非检查型(unchecked)异常 :是RuntimeException类或error类衍生出来 检查型(checked)异常 :都是从exception类衍生出来的 一般而言, checked异常 必须放在try..catch语句块中处理的,处理后的程序可以继续执行, unchecked异常通常暗示着程序上的错误,如果是 error不能放在try..catch语句块中, 如果是RuntimeException异常可以放在try..catch语句块中。所以unchecked异常可以不放在try..catch语句块中处理,若发生该类错误一般会造成程序无法继续执行下去。 从开发应用角度考虑可以将异常分为以下两类 : 系统异常:系统异常在性质上比应用异常更加严重,前者通常和应用逻辑无关,而是底层出现了问题,如数据库服务器的异常终止等。 应用异常:应用异常是由于违反了商业规则或者业务逻辑而导致的错误。例如,一个被锁定的用户试图登入应用。 Java中的异常体系 Java异常处理机制 Java语言提供两种处理异常的机制: 捕获异常 :在程序运行过程中系统得到一个异常对象时,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码,找到处理这种类型异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,该过程称为捕获(catch)异常。 声明抛出异常 :当运行时系统得到一个异常对象,如果当前方法并不知道如何处理所出现的异常或者此时处理不合适,则可在定义方法时,声明抛出(throws)异常。 异常处理 Java中关于异常处理涉及到关键字 try、catch、throw、throws和finally Java中可用于处理异常的两种方式 自行处理:可能引发异常的语句被包含在try块内,而处理异常的相应语句则存在于catch块内。 抛出异常:在方法声明中包含throws子句,通知调用者,如果发生了异常,必须由调用者处理。 异常处理-1 异常实例 使用0做除数而引发的ArithmeticException的异常情况 异常处理-2 try/catch 在Java程序中,如果在出现异常的地方进行异常处理,可以在方法中添加两类代码块,即try、catch,通常发生异常的代码都放在try代码块中,try代码块中包含的是可能引起一个或者多个异常的代码,try代码块的功能就是监视异常的发生。如果try块中的代码产生异常时则由catch块进行捕获并处理,也就是说catch代码块中的代码用于处理try代码块中抛出的具体异常类型的异常对象。 语法格式如下: 异常处理-3 try/catch演示 异常处理-4 public class ExceptionDemo06{ public static void main(String args[]){ System.out.println(********** 计算开始

您可能关注的文档

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档