品易云推流 关闭
文章详情页
文章 > java基础 > java断言与异常区别

java断言与异常区别

头像

小妮浅浅

2021-02-21 10:24:172538浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.断言需要开启

因为Java断言使用assert关键字,所以不需要导入库或包。

注意,在Java 1.4之前,使用单词“assert”来命名变量、方法等是完全合法的。在使用较旧的代码和较新的JVM版本时,这可能会造成命名冲突。

为了向后兼容性,JVM在默认情况下禁用断言验证。必须使用-enableassertions命令行参数或者它的简写-ea来显式地启用它们:

java -ea com.baeldung.assertion.Assertion

2.断言和异常使用场景的区别

检查先验条件使用断言,检查后验条件使用异常。

def read_file(file_path):
assert is_instance(file_path, str)

read_file函数在被调用执行后,依然需要满足一定条件,比如file_path所指定的文件需要是存在的,并且当前用户有权限读取该文件,这些条件称为后验条件,对于后验条件的检查,我们需要使用异常来处理。

def read_file(file_path):
    assert is_instance(file_path, str)
    if not check_exist(file_path):
        raise NotFoundError()
    if not has_privilege(file_path):
        raise PermissionError()

以上就是java断言与异常区别的两点介绍,相信大家已经能分清二者的不同之处。在使用环境上,注意检验条件的先后顺序即可分清。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图