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 断言使用原则


相关文章
|
12天前
|
Java
Java进阶之异常捕捉处理和错误处理
【7月更文挑战第9天】Java异常处理确保程序在遇到错误时不会崩溃。关键机制包括try-catch-finally,用于捕获(try)、处理(catch)和清理(finally)异常。异常分为检查型(需编译时处理,如IOException)和非检查型(如NullPointerException)。throw用于抛出异常,throws用于声明方法可能抛出的异常。Error表示系统级错误,不可恢复;Exception是可处理的异常,包括检查型和非检查型。自定义异常通过继承Exception实现。Java 7引入try-with-resources自动关闭资源。
10 1
|
15天前
|
安全 Java
【Java】已解决java.nio.channels.OverlappingFileLockException异常
【Java】已解决java.nio.channels.OverlappingFileLockException异常
12 1
|
15天前
|
存储 安全 Java
【Java】已解决java.io.ObjectStreamException异常
【Java】已解决java.io.ObjectStreamException异常
11 1
|
15天前
|
Java
【Java】已解决java.nio.channels.ClosedChannelException异常
【Java】已解决java.nio.channels.ClosedChannelException异常
13 1
|
15天前
|
Java
【Java】已解决java.nio.channels.FileLockInterruptionException异常
【Java】已解决java.nio.channels.FileLockInterruptionException异常
15 1
|
11天前
|
Java 编译器
Java运行时异常和非运行时异常
Java运行时异常和非运行时异常
|
12天前
|
Java
Java进阶之异常捕捉处理和错误处理
Java进阶之异常捕捉处理和错误处理
8 0
|
13天前
|
存储 运维 前端开发
Java面试题:什么是Java的异常处理机制?列举常见的异常类,并说明使用场景
Java面试题:什么是Java的异常处理机制?列举常见的异常类,并说明使用场景
24 0
|
13天前
|
Java 编译器 程序员
Java面试题:解释Java中的异常处理机制,包括checked异常和unchecked异常的区别。
Java面试题:解释Java中的异常处理机制,包括checked异常和unchecked异常的区别。
12 0
|
15天前
|
Java 程序员
【Java】已解决java.io.UnsupportedEncodingException异常
【Java】已解决java.io.UnsupportedEncodingException异常
14 0