第七章例外处理(新)解读.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 自定义异常类说明 用户定义的异常同样要用try-catch捕获,但必须由用户自己抛出异常。 例如: throw new MyException() * 自定义异常例子 class Exception_exp{ public static void main(String[] args){ try { System.out.println(2+3=+add(2,3)); System.out.println(-8+10=+add(-8,10));} catch (Exception e) { System.out.println(Exception is +e);} } static int add(int n,int m) throws UserException { if (n0|| m0) throw new UserException(); return n+m; }} class UserException extends Exception{ UserException(){super(数据为负数);}} 我们都希望自己的程序不包含任何错误,也都希望我们的程序要访问的资源总是可用。然而现实的情况可能和所期望的恰恰相反:程序中包含有“bug”,在运行时会出现各种错误;要访问的资源不存在或是存在但不能访问。Java提供了强有力的异常处理机制来应对可能出现的各种异常情况。 下面我们先看下常见的程序错误有哪些。 * (1)编译错误是由于没有遵循Java语言的语法规则而产生的,例如:标识符未声明、表达式中运算符与操作数类型不兼容、语句末尾缺少分号等。这种错误在编译阶段可以被JAVA编译器排除。 (2)逻辑错误是指程序编译正常,也能运行,但结果不是人们所期待的。 (3)运行时错误是指程序运行过程中出现了一个不可能执行的操作,例如:输入数据格式错、除数为0错、给变量赋予超出其范围的值等。 有时逻辑错误也能引起运行时错误。 那异常到底针对的是哪种程序错误呢?我们来看下异常的定义: * (1)这类异常不在程序员程序的控制之内,也不需要程序员自己处理这类异常; (2)JAVA预定义了Exception类来处理这些标准异常,比如:以零为除数的除法,访问数组下标范围以外的数组元素,访问空对象内的信息等等。这种做法简化了代码的编写,提高了效率,代码重用率高。 (3)允许程序员自己编写特殊的异常处理程序,以满足更独特的需要 下面我们就先了解一下JAVA预定义的标准异常类。 * * Java运用面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。这种机制为复杂程序提供了强有力的控制方式。同时这些异常代码与“常规”代码的分离,增强了程序的可读性,编写程序时也显得更为灵活。 * Throwable类有两个直接子类: Error(致命错误) 和Exception(异常)。 Error类型的异常与JAVA虚拟机本身发生的错误有关,这类异常由java直接处理,用户程序一般不能太做什么,只能等待系统通知用户关闭程序。 用户程序产生的错误由Exception的子类表示。用户程序应该处理这类异常。 下面我们简单了解一下Throwable类、Exception类和Error类。 * 【课件内容】 下面我们学习下throwable类的两种构造方法 * 【课件内容】 接下来,我们来学习Throwable类的主要成员方法 * (1)如果创建当前对象时以message的内容作为错误信息串,本方法返回串变量message的内容;若创建当前对象时未使用参数则返回null。 (2) 若当前对象包含错误信息,本方法返回的字符串由三部分组成:当前对象的类名,一个冒号和一个空格,错误信息的字符串;若当前对象未包含错误信息则仅返回当前对象的类名 * (1)将跟踪栈中的信息输出,输出的第一行是当前对象toString( )的返回值,其余各行是跟踪栈中的信息。 (2)将当前异常对象的发生位置 (类、方法和所在文件的行号) 记录到跟踪栈对象中。 接下来我们学习Throwable类的第一个直接子类:Error类 * Error指程序运行时遇到的硬件或操作系统的错误,例如内存越界。Error类型的错误不允许用户插手处理,由Java系统自行处理。 我们来看下Error类的一些特点。 【课件内容】 最后我们再来了解下Throwable类的另一个直接子类:Exception类 * Exception是指在硬件和操作系统正常时,程序在运行时遇到的错误

文档评论(0)

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

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

1亿VIP精品文档

相关文档