北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第五章 异常和垃圾收集

北大青鸟 c 第五章 异常和垃圾收集 Version 3.0 CHA
Version 3.0 异常和垃圾收集 第五章

回顾 类中的静态成员属于类。 fina修饰符可应用于类、方法和变量。 定义抽象类的目的是提供可由其子类共享 的一般形 ·接口就是需要由其他类实现的行为模板。 访问控制级别: public、 protected、缺省、 rivate 封装类就是封装基本数据类型的类 内部类指嵌入外部类内的类。 北大青鸟
2 回顾 • 类中的静态成员属于类。 • final 修饰符可应用于类、方法和变量。 • 定义抽象类的目的是提供可由其子类共享 的一般形式。 • 接口就是需要由其他类实现的行为模板。 • 访问控制级别:public、protected、缺省、 private • 封装类就是封装基本数据类型的类。 • 内部类指嵌入外部类内的类

目标 了解异常的定义 了解异常的分类 掌握ty、 catch和 finally语句的用法 掌握 throw、 throws子句的用法 掌握如何定义自己的异常 了解Java的垃圾收集机制 北大青鸟
3 目标 • 了解异常的定义 • 了解异常的分类 • 掌握 try、catch 和 finally 语句的用法 • 掌握throw、throws子句的用法 • 掌握如何定义自己的异常 • 了解 Java 的垃圾收集机制

什么是异常 运行时发生的错误称为异常。处理这些 异常就称为异常处理 旦引发异常,程序将突然中止,且控 制将返回操作系统。 发生异常后此前分配的所有资源都将保 留在相同的状态,这将导致资源漏洞。 北大青鸟
4 什么是异常 • 运行时发生的错误称为异常。处理这些 异常就称为异常处理。 • 一旦引发异常,程序将突然中止,且控 制将返回操作系统。 • 发生异常后此前分配的所有资源都将保 留在相同的状态,这将导致资源漏洞

Java异常处理基础 Java异常处理机制采用一个统一和相对简 单的抛出和处理错误的机制。如果一个方 法本身能引发异常,当所调用的方法出现 异常时,调用者可以捕获异常使之得到处 理;也可以回避异常,这时异常将在调用 的堆栈中向下传递,直到被处理。 北大青鸟
5 Java异常处理基础 • Java异常处理机制采用一个统一和相对简 单的抛出和处理错误的机制。如果一个方 法本身能引发异常,当所调用的方法出现 异常时,调用者可以捕获异常使之得到处 理;也可以回避异常,这时异常将在调用 的堆栈中向下传递,直到被处理

异常体系结构 所有异常类型都是 内置类 Throwable的 用于Java运行时系统 子类 来显示与运行时系 统本身有关的错误 用于用户程序可能 捕获的异常,也 Throwable 类型子类的类 Error Exception SQLException Runtime Exception A VTError ClassNotFoundException Thread Death ArithmeticException NullPointer Exception NumberF ormat Exception Err类对象由ava虚拟机生成并抛出 Exception类对象由应用程序处理或抛 出 北大青鸟
6 异常体系结构 所有异常类型都是 内置类Throwable的 用于Java运行时系统 子类 来显示与运行时系 统本身有关的错误 用于用户程序可能 捕获的异常,也是 用来创建用户异常 类型子类的类。 Error类对象由Java虚拟机生成并抛出; Exception类对象由应用程序处理或抛 出

常见异常及其用途21 异常 说明 RuntimeException ava. lang包中多数异常的基类 ArithmeticException 算术错误,如除以0 Illegalargumentexception 方法收到非法参数 ArraylndexoutofBounds Exception数组下标出界 NullPointerException 试图访问n叫l对象引用 SecurityException 试图违反安全性 ClassNotFoundException 不能加载请求的类 北大青鸟
7 常见异常及其用途 2-1 异常 说明 RuntimeException java.lang包中多数异常的基类 ArithmeticException 算术错误,如除以0 IllegalArgumentException 方法收到非法参数 ArrayIndexOutOfBoundsException 数组下标出界 NullPointerException 试图访问null 对象引用 SecurityException 试图违反安全性 ClassNotFoundException 不能加载请求的类

常见的异常及其用途22 异常 说明 AWTException AWT中的异常 IOException IO异常的根类 FileNotFoundException 不能找到文件 EOFException 文件结束 IllegalAccessexception 对类的访问被拒绝 NoSuchMethodException 请求的方法不存在 InterruptedException 线程中断 北大青鸟
8 常见的异常及其用途 2-2 异常 说明 AWTException AWT 中的异常 IOException I/O 异常的根类 FileNotFoundException 不能找到文件 EOFException 文件结束 IllegalAccessException 对类的访问被拒绝 NoSuchMethodException 请求的方法不存在 InterruptedException 线程中断

异常处理模型 ·由五个关鍵字ty、 catch、 throw、 throws 和fnay处理。 Java中可用于处理异常的两种方式: 自行处理:可能引发异常的语句封入在try 块内,而处理异常的相应语句则封入在 catch 块内。 回避异常:在方法声明中包含 throws子句 通知潜在调用者,如果发生了异常,必须由 调用者处理。 北大青鸟
9 异常处理模型 • 由五个关键字 try、catch、throw、throws 和 finally 处理。 • Java 中可用于处理异常的两种方式: –自行处理:可能引发异常的语句封入在 try 块内,而处理异常的相应语句则封入在 catch 块内。 –回避异常:在方法声明中包含 throws 子句, 通知潜在调用者,如果发生了异常,必须由 调用者处理

try- catch块示例 public class ExceptionDemo i public static void main(string args[I)t try i 调用函数 Calculate int c= calculate(9,0) System. out. println(c)i 将引发一个异常 catch (Exception e)( System. err. println("发生异常:"+e. tostring(); e. printstackfra≈aO 命令提示符 C: \java>java Exception Demo 发生异常:Java. langArithmetic Exception:/ by zer ava.lang Arithmetic Exception: by zer s七a七 ic int calcu1 at Exception Demo. calculate(Exception Der at Exception Demo.main(Exception d Java:5) 1L卫tc a/b; b 输出 结果 10 北大青鸟
10 try - catch 块示例 public class ExceptionDemo { public static void main(String args[]) { try { int c= calculate(9,0); System.out.println(c); } catch (Exception e) { System.err.println("发生异常: " + e.toString()); e.printStackTrace(); } } static int calculate(int a, int b) { int c = a/b; return c; } } 调用函数calculate, 将引发一个异常 在catch块中处 理异常 输出 结果
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第四章 类的高级特性.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第三章 类和对象.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第二章 Java 编程基础.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第十一章 线程.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第十章 Applet介绍.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第一章 Java语言概述.ppt
- 《计算机网络原理》课程教学资源(参考教材,第四版)PDF电子书(共十章,扫描版).pdf
- 《C程序设计题解与上机指导》(第二版)(谭浩强).pdf
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第七章 编译程序.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第六章 语法制导译.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第五章 符号表.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第四章 语法分析.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 词法分析.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第二章 文法和语言.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第一章 语言处理程序的发展过程.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)总复习.ppt
- 《软件设计师历年试题分析与解答》PDF电子书.pdf
- 《VLAN、TRUNK、VTP和VLAN间路由的使用和配置》实验1.doc
- 《计算机结构与组成》(英文版)CS61C:Machine Structures.ppt
- excel2007表格制作培训教程案例_销售业绩统计表.xlsx
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第六章 GUI编程.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第七章 AWT事件模型.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第八章 图形编程.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第九章 Swing.ppt
- 《C语言程序设计》课程教学资源(电子教案)第一讲 C基础与数据结构.doc
- 《C语言程序设计》课程教学资源(电子教案)第二讲 函数.doc
- 《C语言程序设计》课程教学资源(电子教案)第三讲 循环结构设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第四讲 指针.doc
- 《C语言程序设计》课程教学资源(电子教案)第五讲 数组.doc
- 《C语言程序设计》课程教学资源(电子教案)第六讲 文件.doc
- 《C语言程序设计》课程教学资源(电子教案)第七讲 结构体与共用体.doc
- 《C语言程序设计》课程教学资源(电子教案)第八讲 综合设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第九讲 选择结构设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第十讲 顺序结构设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第十一讲 预处理命令.doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 C语言概论.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 程序的灵魂—算法.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 C语言的数据类型、运算符与表达式.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 顺序结构程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 选择结构程序设计.ppt