1,java的基本理念是:结构不佳的代码不能运行。
2,当异常抛出后,有几件事会随之发生。首先,同java的其他对象的创建一样,将使用new在堆上创建异常对象。然后,
当前的执行路径(它不能继续下去了)被终止,并且从当前的环境中弹出对异常的引用。此时,异常处理机制接管程序。并
开始寻找一个恰当的地方来继续执行程序。这个恰当的地方就是异常处理程序,它的任务就是将程序从错误状态中恢复,以
使程序要么换一种方式运行,要么继续运行下去。
3,异常的参数
所有标准的异常类都有两个构造器:
1个是默认构造器;另一个是接受字符串作为参数,以便把相关的信息放入异常对象的构造器。
4,能够抛出任意类型的Throwable对象,它是异常类型的根类。通常,异常对象中仅有的信息就是异常类型,除此之外不包含任何有意义的内容。
5,异常说明
java鼓励人们把方法可能会抛出的异常告知使用此方法的客户端程序员。
异常说明使用了附加的关键字throws,后面接一个所有潜在的异常类型的列表,看起来方法象这样:
void f() throws toolBig,TooSmall,DivZero {//
5,exception基类Throwable,方法如下:
String getMessage();
String getLocallizedMessage();
void printStackTrack();
void printStackTrack(PrintStream);
void printStackTrack(java.io.PrintWriter);
6,无论异常是否抛出,finally子句总会被执行。
class ThreeException extends Exception {}
public class FinallyWorks {
static int count = 0;
public static void main(String[] args) {
while(true) {
try {
// Post-increment is zero first time:
if(count++ == 0)
throw new ThreeException();
System.out.println("No exception");
} catch(ThreeException e) {
System.out.println("ThreeException");
} finally {
System.out.println("In finally clause");
if(count == 2) break; // out of "while"
}
}
}
} /* Output:
7,异常的丢失
class VeryImportantException extends Exception {
public String toString() {
return "A very important exception!";
}
}
class HoHumException extends Exception {
public String toString() {
return "A trivial exception";
}
}
public class LostMessage {
void f() throws VeryImportantException {
throw new VeryImportantException();
}
void dispose() throws HoHumException {
throw new HoHumException();
}
public static void main(String[] args) {
try {
LostMessage lm = new LostMessage();
try {
lm.f();
} finally {
lm.dispose();
}
} catch(Exception e) {
System.out.println(e);
}
}
} /* Output:
8,在finally子句中执行return造成异常的丢失
public class ExceptionSilencer {
public static void main(String[] args) {
try {
throw new RuntimeException();
} finally {
// Using 'return' inside the finally block
// will silence any thrown exception.
return;
}
}
} ///:~
输出结果,发生了异常也没有任何输出。
分享到:
相关推荐
第十二章讲解了Java中的异常处理机制。异常处理是处理程序运行时错误的有效方式。本章首先介绍了异常的概念,然后详细讨论了如何使用try-catch-finally语句来捕获和处理异常,以及如何自定义异常类来处理特定类型的...
第十二章 Altering Tables and Constraints..142 第十三章 Creating Sequences..........145 第十四章 Creating View(创建视图)146 第十五章 Creating Indexes(创建索引).....148 第十六章 权限的授予与收回...........
### Java实战经典学习笔记知识点概览 #### 一、Java概述及开发环境搭建 - **Java概述** - Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。 - Java的设计目标是“一次编写,到处运行”,这...
#### 第十二章:I/O流 Java I/O流用于处理输入输出操作。 **一、继承InputStream字节流** 用于读取字节数据的抽象类。 **二、继承OutputStream字节** 用于写入字节数据的抽象类。 **三、继承Reader流** 用于...
#### 第十二章:JAVA IO - **File类** - File类的作用:操作文件和目录。 - File类的常用方法:createNewFile()、delete()等。 - **RandomAccessFile类** - RandomAccessFile类的特点:支持随机访问文件。 - ...
面向对象编程是Java的核心特性,本学习笔记涵盖了这一主题的深度探索,旨在帮助开发者深入理解并熟练运用面向对象的思想。2023年的版本更新可能包含最新的面试趋势和技术发展。以下将详细介绍Java面向对象编程的一些...
第十二章 Altering Tables and Constraints..142 第十三章 Creating Sequences..........145 第十四章 Creating View(创建视图)146 第十五章 Creating Indexes(创建索引).....148 第十六章 权限的授予与收回...........
本资源包含了这本书第四版的学习笔记和源代码,旨在帮助读者更好地理解和掌握Java编程思想。以下是对这些知识点的详细阐述: 1. **面向对象编程(OOP)**:Java是一种纯面向对象的语言,它强调类、对象、封装、继承...
【Java SE课程笔记详解】 Java SE(Standard Edition)是Java平台的核心版本,它为开发桌面应用、服务器端...通过深入学习和实践,你可以扎实掌握Java编程基础,为进一步深入学习Java EE或Android开发打下坚实的基础。
详细介绍请参阅rainbow(一个长着胡子的彩虹)翻译的<<展现C#>> ,前几章非常的有趣。 看完了前面几段,我的朋友提出了不同的意见:C#不是Java的Clone,它只是长得有些像Java而已,其实面向对象、中间语言什么的也...
"第十三天 笔记.txt"可能包含了对课程最后一天所学内容的总结,可能是关于异常处理、多线程、集合框架或IO流等高级主题。在Java中,异常处理是程序健壮性的重要组成部分,通过try-catch-finally语句块捕获并处理可能...
通过观看这些视频,学习者可以逐步理解并应用Java编程思想。 【Java基础】 在Java基础部分,你将学到如何声明和使用变量,理解基本数据类型(如整型、浮点型、字符型和布尔型)。此外,还将深入学习流程控制语句...
《韩顺平-循序渐进学Java零基础完整笔记》是一份专为初学者设计的Java编程学习资料,由知名IT教育专家韩顺平老师精心编撰。这份笔记覆盖了从Java语言基础到进阶应用的全方位内容,旨在帮助没有编程背景的学员逐步...
《Java程序设计与应用开发》第二版**(2014):该书通过实例讲解Java编程的基本概念和技术要点,有助于提高学生的实践能力。 3. **王爱国.《Java面向对象程序设计》**(2014):侧重于面向对象的编程思想和方法,...
Java是一种广泛使用的编程语言,以其跨平台性和强大的功能而闻名。以下是对《2023年Java基础总结大全笔记》的详细...以上就是对Java基础的详尽解析,涵盖了从基本概念到高级特性的多个方面,是学习Java编程的良好起点。
"第二版的"标签表明我们讨论的是该书的一个早期版本,虽然Java语言已经发展到多个新版本,但第二版仍然包含了Java基础的精髓,对于初学者理解语言的基本构造和编程思想非常有帮助。 在压缩包中的文件《ThinkinJava....
这套课件适合完全没有Java编程经验的新手,内容涵盖了Java基础语法、面向对象编程、异常处理等多个方面。通过学习这些基础知识,初学者可以建立起坚实的Java编程基础。 #### 七、Java开发的毕业设计源码大全 这份...
Java编程思想[M]. 第4版. 机械工业出版社. - 内容概述:本书是Java领域内的一本经典著作,深入浅出地介绍了Java编程的基本概念、面向对象编程思想以及设计模式等内容。 - 关键知识点: - 面向对象编程(OOP)的...
#### 第十二课:SSH整合存在的问题 - **常见问题**: - JSP访问Session失败。 - 不配置事务导致的问题。 - 中文乱码处理。 #### 第十三课:SSH整合的jar包 - **所需JAR包**: - **Struts2**:包含Struts2核心库...