Java 程序设计 第6章 异常与断言 笔记

简介: Java 程序设计 第6章 异常与断言 笔记

6.1 异常

6.1.1 基本概念

Java将异常设计为一种类(class),程序出现错误时,一个该类的异常对象被抛出(throw)。

Java定义了java/lang.Throwable类,所有异常类都是Throwable类的子类。


6.1.2 异常语法

Java要求把可能产生异常的代码放在try块里,

异常发生时,停止try块的代码执行,转到异常处理的catch块中;

最后,finally中的代码总是会执行。finally是可选的。

try{

//可能产生异常的代码

}

catch(某种异常) {

//处理异常}

catch(异常){...

}

finally{//清理现场

}


6.1.3 finally

finally块总会执行,因此常常用来释放代码用到的资源。


6.1.4 throw语句

try-catch-finally语句是异常处理的主要形式,除此之外还有throw语句,用于错误发生时主动抛出异常。

throw的语法:

throw expression


6.1.5 throws语句

通过throws来知道一个方法可能出现的异常。

public static void someMethod() throws Exception{

}


6.1.6 throws语句和方法重写

子类重写了父类的方法,子类中throws语句声明的异常类型必须和父类中被重写的方法的throws异常类型相同。


6.2断言(Assertion)

6.2.1 断言概述

断言是Java用来检查一个应该始终是真的条件,如果断言发现是假的,一个AssertionError异常就会被抛出。


6.2.2 断言语法:

assert 逻辑表达式[:细节信息];

注意:如果用的是Eclipse,assert默认是关闭的。


6.2.3 断言使用原则


相关文章
|
1月前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
59 1
|
1月前
|
Java API 调度
如何避免 Java 中的 TimeoutException 异常
在Java中,`TimeoutException`通常发生在执行操作超过预设时间时。要避免此异常,可以优化代码逻辑,减少不必要的等待;合理设置超时时间,确保其足够完成正常操作;使用异步处理或线程池管理任务,提高程序响应性。
62 12
|
1月前
|
Java
在 Java 中,如何自定义`NumberFormatException`异常
在Java中,自定义`NumberFormatException`异常可以通过继承`IllegalArgumentException`类并重写其构造方法来实现。自定义异常类可以添加额外的错误信息或行为,以便更精确地处理特定的数字格式转换错误。
34 1
|
17天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
17天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
24天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
27 2
|
1月前
|
IDE 前端开发 Java
怎样避免 Java 中的 NoSuchFieldError 异常
在Java中避免NoSuchFieldError异常的关键在于确保类路径下没有不同版本的类文件冲突,避免反射时使用不存在的字段,以及确保所有依赖库版本兼容。编译和运行时使用的类版本应保持一致。
66 7
|
1月前
|
Java 编译器
如何避免在 Java 中出现 NoSuchElementException 异常
在Java中,`NoSuchElementException`通常发生在使用迭代器、枚举或流等遍历集合时,尝试访问不存在的元素。为了避免该异常,可以在访问前检查是否有下一个元素(如使用`hasNext()`方法),或者使用`Optional`类处理可能为空的情况。正确管理集合边界和条件判断是关键。
70 6
|
16天前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
34 0
|
29天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
12 0