java 异常专题ppt_java的异常处理信息课件.ppt

第 8部分: 异常处理 平顶山学院软件学院 2011 什么是异常 异常类型 异常类框架 异常类的共同父类 异常声明 异常的抛出 异常的捕获和处理 异常处理程序示例 错误与异常 运行错误是程序运行过程中产生的错误,根据性质的不同,运行错误又分为系统运行错误和逻辑运行错误。 系统运行错误简称为错误,是指程序在执行过程中所产生对操作系统的损害。 逻辑运行错误是指程序不能实现程序员的设计意图和设计功能而产生的错误,这种错误也被称为异常。 What is the exception? 异常(Exceptions)指应用程序运行过程中发生的各种不同严重程度的错误 对异常的处理方式有以下两种: (1) 在可能发生异常的程序代码前进行各种错误条件测试,避免异常的发生 (2) 声明可能发生异常的程序代码,并通过专门的异常处理代码处理异常 Java语言提供了语言级的异常处理机制 异常 异常的特点 编译时不能发现,有些非常隐蔽,很难发现 一旦出现异常,程序就无法继续执行下去. 异常处理的目的 在发生异常时,处理好一些相关善后事宜,例如保存文档、删除错误的数据库记录等. 如果异常仅仅是在局部发生,可以仅仅停止执行这条命令,而让整个程序继续正常运行. 什么时候会发生异常? 数组的下标越界 打开不存在的文件 网络无法连接 操作数超出所要求的范围 少了所需加载的类 自定义异常,要求程序处理 处理异常的几种常用方法 一旦捕获异常,马上进行处理 重新抛出异常 捕获异常,但并不处理 通过语句System.exit(0)退出应用程序 异常(Exceptions)类型 常见异常 内存耗尽 数组下标越界 除数为0 非法的参数(方法的参数) Exception Types (异常类型) Java语言使用异常类来表示某类错误,用类的实例表示一次具体的错误 异常类必须继承类 java.lang.Throwable Java语言提供了异常类框架,定义了各种常用的异常类和错误类 异常可以分为可检查的(checked)异常和不可检查(unchecked)的异常 checked: 不处理编译不能通过 unchecked: 不处理编译可以通过,如果有抛出直接抛到控制台。 异常(Exception)的层次结构 受检异常和非受检异常 受检异常 必须在方法声明时通过throws列出 在编译时就能被检测出 非受检测异常 不必在throws列表中 错误(Errors) 和运行时异常(RuntimeExceptions) 受检异常,必须处理才能通过编译 运行时异常只有在运行时才能被发现 错误常常指的是致命性错误,常常也无法处理 java.lang.Throwable Class Throwable类是所有异常类的基类 Throwable类的构造函数有以下几种: Throwable() Throwable(String msg) Throwable(Throwable cause) Throwable(String msg, Throwable cause) java.lang.Throwable Class Throwable类定义了许多与异常处理相关的方法: Throwable fillInStackTrace() Throwable getCause() String getLocalizedMessage() String getMessage() void printStackTrace() 运行时发生的异常 ArithmeticException:算术异常 ArrayStoreException:数组存储类型错误 ClassCastException:变量类型设置错误 IllegalArgumentException:函数的参数错误 IndexOutOfBoundsException:数组下标越界 NegativeArraySizeException:数组长度为负值 NullPointerException:使用空指针变量 SecurityException:违反安全要求 UnsupportedOperationException:操作不支持 异常处理方法 通过try ... catch块捕获异常 try { . . . // 可能会发生异常的程序块 } catch (Type1 id1) { . . . // 处理类型1的异常 } catch (Type2 id2) { . . . // 处理类型2的异常 } 异常处理方法 通过try ... catch块捕获异常 try将一块可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值