本教程操作环境: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断言与异常区别的两点介绍,相信大家已经能分清二者的不同之处。在使用环境上,注意检验条件的先后顺序即可分清。