在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,则需要用开关-enableassertions或-ea来开启。
assert关键字语法很简单,有两种用法:
1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。
2、assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。
下面一段代码
不加-ea参数运行时结果:
1:no problem!
2:no problem!
加了之后的结果:
Exception in thread "main" java.lang.AssertionError: error!
at com.hihicd.tajo.AssertTest.main(AssertTest.java:11)
1:no problem!
assert主要用在调试测试程序,而且一般IDE都是默认关闭assert的,所以在拥有JUnit这么好的测试工具的基础上,也不太会用得着它。
分享到:
相关推荐
在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言...
标题中提到的“Java陷阱之assert关键字详解”所指的知识点主要涉及Java语言中assert关键字的介绍、使用、限制以及使用时需注意的潜在问题。Assert关键字作为Java SE 1.4版本引入的功能,其设计目的是为了帮助开发者...
这篇文章主要介绍了Python assert关键字原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python assert(断言)用于判断一个表达式,在表达式...
本文深入探讨了 C++ 中的static_assert关键字的作用、用法及其在编译期检查中的重要性。通过详细的代码示例,阐述了如何利用static_assert对代码中的各种条件进行静态验证,包括类型特征、常量表达式、模板参数约束...
`try`关键字用于尝试执行可能抛出异常的代码块,与`catch`和`finally`关键字配合使用。 ### 45. void `void`关键字表示无返回值的方法,用于声明不返回任何值的方法。 ### 46. volatile `volatile`关键字用于...
用法与assert关键字相同,但具有以下功能: from safe_assert import safe_assert def sort_positive_numbers ( numbers : List [ int ]) -> List [ int ]: safe_assert ( all ( num >= 0 for num in numbers ), '...
2. **Assert(断言)**:在Java编程中,`assert`关键字用于在测试阶段检查代码假设是否正确,它是进行单元测试和调试的强大工具。在本项目中,通过扩展Spring Boot的断言功能,我们可以创建自定义的断言方法,以适应...
本书由世界级编程大师Herbert Schildt撰写,英文原书一经出版,就受到了读者的热烈欢迎。...书中包含了Java 2, 版本1.3中新增的特征,其中最重要的是assert关键字、基于通道的I/O子系统、成链的异常和网络增强功能等。
Java 共有 50 多个关键字,它们包括但不限于 `abstract`、`assert`、`boolean`、`break`、`byte`、`case`、`catch`、`char`、`class`、`const`(虽然未使用)、`continue`、`default`、`do`、`double`、`else`、`...
Java的关键字包括但不限于`abstract`, `assert`, `boolean`, `break`, `byte`, `case`, `catch`, `char`, `class`, `const`, `continue`, `default`, `do`, `double`, `else`, `enum`, `extends`, `final`, `finally...
`psl`关键字是SystemVerilog中用于定义形式化属性的,它可以与`assert`结合使用,以验证FIFO的行为是否符合预期。 例如,一个简单的FIFO断言可能检查写入和读取指针之间的关系,确保它们不会同时到达相同位置,导致...
在编程语言的学习中,了解和掌握关键字是至...同时,随着Java版本的更新,也可能出现新的关键字,例如`assert`用于断言,`enum`用于枚举类型等。不断学习和掌握新的关键字,有助于提升我们的编程技能和解决问题的能力。
C++ 语言支持可帮助您调试应用程序的三个错误处理机制:#error 指令、static_assert 关键字和 assert (CRT) 宏。所有的三种机制都会发出错误消息,其中两个还会测试软件断言。软件断言指定在程序的某个特定点应满足...
Python3 中的 33 个关键字及其用法 Python 是一种高级的、解释型的编程语言,具有易于学习、简单易用、功能强大等特点。Python 中有 33 个关键字,这些关键字是 Python 程序的基础组成部分,了解这些关键字的用法是...
本篇文章将深入探讨C和C++中常用的头文件,以及它们提供的函数和关键字的使用。 首先,`<assert.h>`头文件提供了`assert()`宏,它用于断言程序中的某些条件必须为真。当`assert()`宏内的表达式为假时,程序会终止并...
虽然Java语言规范定义了`goto`关键字,但它并未被使用,被视为保留关键字。 ##### private `private`访问修饰符限制成员变量或方法只能在其所属的类内部访问。 ```java class Example { private int num = 10; }...
当assert关键字后面的布尔表达式为`false`时,会抛出`AssertionError`异常。例如: ```java assert x > 0 : "x must be positive"; ``` #### B系列关键字 - **break**:用于中断循环或者`switch-case`语句中的...
10. **const** - 被废弃的关键字,不再使用。 11. **continue** - 继续下一个迭代,跳过当前循环的剩余部分。 12. **default** - switch语句的默认分支,当没有匹配的情况时执行。 13. **do** - do-while循环的...
14. **goto**: 已经废弃的关键字,不再使用。 15. **strictfp**: 用于确保浮点运算的一致性和可移植性。 #### 结论 了解Java的关键字是掌握这门语言的基础。每个关键字都有其特定的用途和规则。通过深入理解这些...