21_异常_第1天(异常)_讲义.pdf





《21_异常_第1天(异常)_讲义.pdf》由会员分享,可在线阅读,更多相关《21_异常_第1天(异常)_讲义.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 21 天 异常 今日内容介绍:掌握异常概述 理解异常的基础操作以及最简单的捕获处理 理解多异常捕获处理 理解声明抛出异常 掌握自定义异常 掌握异常处理注意事项 异常 什么是异常?Java 代码在运行时期发生的问题就是异常。在 Java 中,把异常信息封装成了一个类。当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。异常的继承体系 在 Java 中使用 Exception 类来描述异常。查看 API 中 Exception 的描述,Exception 类及其子类是 Throwable 的一种形式,它用来表示 java 程序中可能会产生的异常,并要求对产生的异
2、常进行合理的异常处理。继续观察,我们可以发现 Exception 有继承关系,它的父类是 Throwable。Throwable 是 Java 语言中所有错误或异常的超类,即祖宗类。另外,在异常 Exception 类中,有一个子类要特殊说明一下,RuntimeException 子类,RuntimeException 及其它的子类只能在 Java 程序运行过程中出现。我们再来观察 Throwable 类,能够发现与异常 Exception 平级的有一个Error,它是 Throwable 的子类,它用来表示 java 程序中可能会产生的严重错误。解决办法只有一个,修改代码避免 Error 错
3、误的产生。异常继承体系总结:Throwable:它是所有错误与异常的超类(祖宗类)|-Error 错误|-Exception 编译期异常,进行编译 JAVA 程序时出现的问题|-RuntimeException 运行期异常,JAVA 程序运行过程中出现的问题 异常与错误的区别 异常:指程序在编译、运行期间发生了某种异常(XxxException),我们可以对异常进行具体的处理。若不处理异常,程序将会结束运行。异常的产生演示如下:public static void main(String args)int arr=new int3;System.out.println(arr0);System
4、.out.println(arr3);/该句运行时发生了数组索引越界异常ArrayIndexOutOfBoundsException,由于没有处理异常,导致程序无法继续执行,程序结束。System.out.println(over);/由于上面代码发生了异常,此句代码不会执行 错误:指程序在运行期间发生了某种错误(XxxError),Error 错误通常没有具体的处理方式,程序将会结束运行。Error 错误的发生往往都是系统级别的问题,都是 jvm 所在系统发生的,并反馈给 jvm 的。我们无法针对处理,只能修正代码。错误的产生演示如下:public static void main(Stri
5、ng args)int arr=new int1024*1024*100;/该句运行时发生了内存溢出错误 OutOfMemoryError,开辟了过大的数组空间,导致 JVM 在分配数组空间时超出了 JVM 内存空间,直接发生错误。异常的产生过程解析 先运行下面的程序,程序会产生一个数组索引越界异常ArrayIndexOfBoundsException。我们通过图解来解析下异常产生的过程。工具类 class ArrayTools /对给定的数组通过给定的角标获取元素。public static int getElement(int arr,int index)int element=arrin
6、dex;return element;测试类 class ExceptionDemo2 public static void main(String args)int arr=34,12,67;int num=ArrayTools.getElement(arr,4)System.out.println(num=+num);System.out.println(over);上述程序执行过程图解:抛出异常 throw 在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接受参数。那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 21 异常 讲义

限制150内