南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 10 Java 高级编程

10 Java高级编程 Application Program 的A
10-1 Programming in Java Java 高级编程 Lecture10 JOHN DOE'S DISK MYFILE.DAT Application Program

淡肉 10-2 .Java异常处理 ·Java多线程编程 ·Java的/O编程 ·Java的网络编程
10-2 Programming in Java 提纲 • Java异常处理 • Java多线程编程 • Java 的I/O编程 • Java的网络编程

.Java异常 >是特殊的运行错误对象,对应着Java语言特定的运行错 误处理机制 ,Java异常类 >每个异常类都代表了一种运行错误,类中包含了该运行 错误的信息和处理错误的方法等内容 .Java异常机制 >每当Java程序运行过程中发生一个可识别的运行错误时 系统会产生一个相应的异常类的对象,即产生一个异 常。系统中就一定有相应的机制来处理它,从而保证整 个程序运行的安全性
10-3 Programming in Java 异常与异常类 • Java异常 ¾是特殊的运行错误对象,对应着Java语言特定的运行错 误处理机制 • Java异常类 ¾每个异常类都代表了一种运行错误,类中包含了该运行 错误的信息和处理错误的方法等内容 • Java异常机制 ¾每当Java 程序运行过程中发生一个可识别的运行错误时 ,系统会产生一个相应的异常类的对象,即产生一个异 常。系统中就一定有相应的机制来处理它,从而保证整 个程序运行的安全性

开第 10-4 Object Only Recoverable R can be thrown Non-recoverable Throwable Recoverable Requires Error Try/catch NOT Required Exception Try/catch OutOfMe Runtime Add your Exception Exceptions moryError here Checked Unchecked Exception Exception Array NullPointer Index Exception Out Of Bounds Exception
10-4 Programming in Java 异常类 Object Throwable Error … Exception Runtime Exception … … Add your Exceptions here Only Recoverable can be thrown Non-recoverable Recoverable Requires Try/catch NOT Try/catch Required Array Index Out Of Bounds Exception NullPointer Exception Unchecked Exception Checked Exception OutOfMe moryError

·系统定义的运行异常:P250 >系统定义的异常主要用来处理系统可预见的较常见的运 行错误 >Exception类的若干子类,每个子类代表了一种特定的运 行错误 ·用户自定义的异常:P251 >用户定义的异常主要用来处理用户程序中特定的逻辑运 行错误 >声明一个新的异常类,扩展Exception类(直接或间接) >为新的异常类定义属性或方法,或重载父类的属性和方 法,使这些属性或方法能够体现该类所对应的错误的信息
10-5 Programming in Java 异常类类型 • 用户自定义的异常: P251 ¾用户定义的异常主要用来处理用户程序中特定的逻辑运 行错误 ¾声明一个新的异常类,扩展Exception类 (直接或间接) ¾为新的异常类定义属性或方法,或重载父类的属性和方 法,使这些属性或方法能够体现该类所对应的错误的信息 • 系统定义的运行异常: P250 ¾系统定义的异常主要用来处理系统可预见的较常见的运 行错误 ¾Exception类的若干子类,每个子类代表了一种特定的运 行错误

0-6 class Worker{/定义一个可以抛出Exceptl,.Except2异常的方法 public void fl(int val)throws Except1,Except2{ switch (val){ casel:throw new Exceptl("Gotcha!"); case2:throw new Except2(“Againnn”);} class Except1 extends Exception{/定义Exceptl异常 private String theMessage; public Except1(String aMsg){ theMessage aMsg; public String toString(){ return“Except1”+theMessage;}
10-6 Programming in Java class Worker {//定义一个可以抛出Except1, Except2 异常的方法 public void f1(int val) throws Except1, Except2 { switch (val) { case1: throw new Except1(“Gotcha!”); case2: throw new Except2(“Againnn”); } } } class Except1 extends Exception {//定义Except1异常 private String theMessage; public Except1(String aMsg) { theMessage = aMsg; } public String toString() { return “Except1” + theMessage; } 示例(1)

冈下州 10- class Except2 extends Exception{/定义Except22异常 private String the Message; public Except2(String aMsg){ theMessage aMsg; public String toString(){ return“Except22”+theMessage;}
10-7 Programming in Java class Except2 extends Exception {//定义Except2异常 private String theMessage; public Except2(String aMsg) { theMessage = aMsg; } public String toString() { return “Except2” + theMessage; } 示例(2)

下⊙ 10-8 public class except_example public static void main(Sting args[]){ Worker dobj new WorkerO; for (inti=0;i<3;++){ try{/异常处理模块 dobj.f1(① System.out.println("No except,"+i);} catch(Except1e){U/捕捉Exceptl:异常 System.out.println(e.toString+i); catch(Except2e){U/捕捉Except2异常 System.out.println(e.toString()+i); finally System.out.println("Finally code");
10-8 Programming in Java public class except_example { public static void main(Sting args[]) { Worker dobj = new Worker(); for (int i = 0; i < 3; i++) { try { //异常处理模块 dobj.f1(I); System.out.println(“No except,” + i); } catch (Except1 e) {//捕捉Except1异常 System.out.println(e.toString() + i); } catch (Except2 e) {//捕捉Except2异常 System.out.println(e.toString() + i); } finally { System.out.println(“Finally code”); } } } } 示例(3)

Java程序在运行时如果引发了一个可识别的错误, 就会产生一个与该错误相对应的异常类的对象,这个 过程被称为异常的抛出 ·系统自动抛出的异常:P252 >系统定义的异常主要用来处理系统可预见的较常见的运 行错误 Public class TestsystemException public static void main(String args [] { int a=0,b=5; System.out.println (b/a); }//throw an ArithmeticException object
10-9 Programming in Java 抛出异常(1) • Java程序在运行时如果引发了一个可识别的错误, 就会产生一个与该错误相对应的异常类的对象,这个 过程被称为异常的抛出 • 系统自动抛出的异常: P252 ¾系统定义的异常主要用来处理系统可预见的较常见的运 行错误 Public class TestsystemException { public static void main(String args[]) { int a=0, b=5; System.out.println(b/a); } }//throw an ArithmeticException object

.语句抛出的异常:P253 修饰符返回类型方法名(参数列表)throws异常类名列表 {.how异常类名.…} int dequeue()throws EmptyQueueException int data; if (isEmpty()) throw(new EmptyQueueException(this)); else data=m FirstNode.getData(; m FirstNode m FirstNode.getNextO; return data;}
10-10 Programming in Java 抛出异常(2) • 语句抛出的异常: P253 修饰符 返回类型 方法名(参数列表)throws 异常类名列表 { … throw 异常类名 … } int dequeue() throws EmptyQueueException { int data; if (isEmpty()) throw (new EmptyQueueException(this)); else { data=m_FirstNode.getData(); m_FirstNode = m_FirstNode.getNext(); return data;}
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 01 面向对象软件开发概述.pdf
- 电子科技大学:《Linux操作系统内核技术 The Linux Kernel Technology》课程教学资源(课件讲稿)第四讲 内核模块不可调试之谜.pdf
- 电子科技大学:《Linux操作系统内核技术 The Linux Kernel Technology》课程教学资源(课件讲稿)第三讲 指针存储之谜.pdf
- 电子科技大学:《Linux操作系统内核技术 The Linux Kernel Technology》课程教学资源(课件讲稿)第二讲 程序员技术手段.pdf
- 电子科技大学:《Linux操作系统内核技术 The Linux Kernel Technology》课程教学资源(课件讲稿)第一讲 课程概述(李林).pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第9章 Markov马尔科夫分类.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第8章 特征提取与降维.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第7章 非监督分类.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第6章 深度神经网络.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第5章 支持向量机.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第4章 回归分类.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第3章 统计分类.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第2章 数值最优化介绍.pdf
- 电子科技大学:《机器学习 Machine Learning》课程教学资源(课件讲稿)第1章 机器学习介绍(师君).pdf
- 电子科技大学:《网络计算模式 Network Computing Paradigm》课程教学资源(课件讲稿)09 CDN内容分发网络.pdf
- 电子科技大学:《网络计算模式 Network Computing Paradigm》课程教学资源(课件讲稿)11 社会计算(二).pdf
- 电子科技大学:《网络计算模式 Network Computing Paradigm》课程教学资源(课件讲稿)11 社会计算(一).pdf
- 电子科技大学:《网络计算模式 Network Computing Paradigm》课程教学资源(课件讲稿)10 物联网.pdf
- 电子科技大学:《网络计算模式 Network Computing Paradigm》课程教学资源(课件讲稿)08 域名系统.pdf
- 电子科技大学:《网络计算模式 Network Computing Paradigm》课程教学资源(课件讲稿)07 P2P网络(二)Distributed Hash Table.pdf
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 02 Java 概述.ppt
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 03 Java 编程入门.pdf
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 03 Java 编程入门.ppt
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 04 Java 语言基础.ppt
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 05 Java 类.pdf
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 05 Java 类.ppt
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 06 继承与多态.pdf
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 07 Java 工具类.pdf
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 08 数据结构与算法.ppt
- 南京大学:《Java语言程序设计 Programming in Java》课程教学资源(教案讲义)Lecture 09 图形用户界面的设计与实现.ppt
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)01 Introduction(戴海鹏).pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)02 Security Principles.pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)03 Symmetric Key Cryptography.pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)04 Advanced Encryption Standard(AES).pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)05 Asymmetric Key Cryptography.pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)06 Number Theory.pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)07 Hashes and Message Digests.pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)08 Authentication Using Asymmetric Keys.pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)09 Authentication Using Symmetric Keys.pdf
- 南京大学:《网络安全与入侵检测 Network Security and Intrusion Detection》课程教学资源(课件讲稿)10 Kerberos.pdf