`

java 中的assert(断言)

    博客分类:
  • java
 
阅读更多

一直没有使用过java中的断言,在类中 输入 assert 竟然不报编译错误,就go了一下。

 

jvm 断言默认是关闭的。

断言是可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。

断言只适用于复杂的调试过程。

断言一般用于程序执行结果的判断,千万不要让断言处理业务流程。

 

记录如下:

1.   eclipse 如何打开,关闭断言

 public static void main(String[] args) {
   boolean isOpen = false;  
   assert isOpen=true; //如果开启了断言,会将isOpen的值改为true
   System.out.println(isOpen);//打印是否开启了断言   
}

 

执行上面代码,如果打印 true说明已经启用了断言,如果为 false 则没有启用断言。

如果没有启用断言,则按照2描述开启断言。

 

2.  选择菜单:Run ---> Run... ---> 选择 Arguments 选项卡

VM arguments 文本框中输入: -ea   注意中间没有空格,如果输入 -da 表示禁止断言。

然后关闭该窗口,提示保存,然后保存就开启了断言。 

再次执行1操作,如果打印true,说明开启断言成功。

如果禁止断言,则按2操作,删除 -ea 或者将 -ea 改为 -da 即可。

 

3.   断言的两种使用方法

第 1 种使用方法:

assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。

 

public static void main(String[] args) {
   boolean isOk = 1>2;
   assert isOk;
   System.out.println("程序正常");
   
}

 

因为 1>2 显然是错误的,所以执行结果抛出异常:Exception in thread "main" java.lang.AssertionError

如果把 1>2 改为 1<2 则程序能顺利执行,打印 “程序正常”

 

第 2 种使用方法:

assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,<错误信息表达式>成为AssertionError的message。

public static void main(String[] args) {
     boolean isOk = 1>2;
     try{
           assert isOk : "程序错误";
           System.out.println("程序正常");
        }catch(AssertionError err){
          System.out.println(err.getMessage());
     }
   
}

 

assert 后面跟个冒号表达式。如果冒号前为 true,则冒号后面的被忽略。

如果冒号前为false,则抛出AssertionError ,错误信息内容为冒号后面的内容,上面程序执行结果就是打印:"程序错误"

 

 

分享到:
评论

相关推荐

    Java断言(assert)

    Java断言(assert) Java断言是一种 debugging 机制,允许开发者在Java程序中添加检查点,以确保程序的正确性。断言可以在开发和测试阶段使用,以确保程序的正确性和可靠性。 Java断言的历史 Java断言是从 JDK 1.4 ...

    业务异常提示处理 springboot+Assert(自定义断言)

    2. **Assert(断言)**:在Java编程中,`assert`关键字用于在测试阶段检查代码假设是否正确,它是进行单元测试和调试的强大工具。在本项目中,通过扩展Spring Boot的断言功能,我们可以创建自定义的断言方法,以适应...

    java异常处理机制示例(java抛出异常、捕获、断言)

    断言(Assertion)是Java中的一个功能,用于在开发阶段检查程序状态。在`AssertTest`中,使用`assert`语句来确保除数不为零。如果条件不满足,断言失败,程序会抛出`AssertionError`异常。在生产环境中,断言通常是...

    Java陷阱之assert关键字

     在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言...

    eclipse如何开启断言assert

    在Java编程中,断言(Assert)是一种强大的调试工具,它允许程序员在代码中插入条件检查,以确保程序在特定点的行为符合预期。Eclipse作为流行的Java开发集成环境,提供了方便的方式来启用或禁用断言功能。以下是...

    Java中断言使用案例

    在Java编程语言中,"断言"是一种强大的调试工具,它允许程序员在代码中插入条件检查,以确保程序在特定点的行为符合预期。这个概念在【标题】"Java中断言使用案例"中被强调,而【描述】进一步指出文档会探讨使用断言...

    Java陷阱之assert关键字详解

    描述中“详细介绍了Java陷阱之assert关键字”表明了文章将系统性地讲解assert关键字的各个方面,而“有需要的朋友可以参考一下”则意味着这篇文章为那些需要深入了解Java断言功能的开发者提供了参考。 在标签中,...

    Selenium-java断言(90)【2021-02-02】.docx

    在Java中,我们可以利用JUnit或TestNG这样的测试框架来组织和执行测试用例,这些框架提供了丰富的断言库。例如,JUnit中的`Assert.assertEquals()`方法可以用于检查网页元素的文本内容或属性值是否符合预期。 在...

    JAVA断言技术详解

    JAVA断言技术详解,1、What will happen when you attempt to compile and run the following code? (Assume that the code is compiled and run with assertions enabled) 1. public class AssertTest 2. { 3. ...

    JAVA程序设计——异常和断言

    在JAVA中,可以使用`assert`关键字来声明断言,例如`assert value &gt; 0;`,表示期望value的值大于0。如果断言的条件不满足,程序将抛出AssertionError。断言通常在开发和测试阶段启用,在生产环境中可以禁用,以提高...

    Assert使用

    `Assert` 通常在 C++、Java、C# 和 Python 等多种编程语言中被使用,它的主要功能是检查程序中的条件是否满足,如果条件不满足,即断言失败,程序会抛出一个错误或者终止执行,这对于找出代码中的逻辑错误非常有帮助...

    Java关键词assert的使用(基于IntelliJ IDEA)

    断言语句由assert引起,后面接boolean表达式,再接上冒号,最后是一旦断言错误的报错语句。 assert pythagorean(3, 4) == 25 : Error; IDE中的assert assert想在IDE中使用,就必须开虚拟机选项

    编程语言JAVA断言使用.pdf

    在探讨Java编程语言中的断言使用时,我们首先需要了解断言是一种开发调试工具,用于在程序运行时检查代码中的特定条件是否满足。如果条件为真,则程序正常运行;如果为假,则会抛出一个AssertionError异常,终止程序...

    Java常用词汇中英文对照

    Java常用词汇中英文对照 本文档提供了Java常用词汇的中英文对照,涵盖了许多术语的中英文对照,旨在帮助开发者更好地理解Java编程语言。... assert是Java中的一种断言机制,用于检查代码正确性。 ...

    SCJP 310-055 题库4 异常和断言

    虽然在给定的部分内容中没有直接涉及到断言的具体题目,但在Java中,断言的使用可以通过`assert`关键字实现。例如: ```java assert condition : message; ``` 其中`condition`是表达式,如果其结果为`false`,则...

    assert-text:在需要时断言多行文本

    断言文本 比较多行文本时正确的断言消息。用法 var assertText = require ( 'assert-text' ) ;assertText . equal ( 'what a wonderful\n' + 'idea for the\n' + 'module' , 'what a wonderful\n' + 'idea for a\n' ...

    truth,java单元测试的断言/命题框架.zip

    除了基本的断言,Truth还支持流式API,让你能够在单个断言中进行多个检查,这样即使测试失败,所有检查结果都会被显示,帮助开发者更快定位问题。 在使用Truth时,一个常见的最佳实践是使用`Assertions.assertThat...

    浅析Java异常处理中断言的使用

    Java异常处理中的断言是一种强大的调试工具,它允许程序员在代码中插入检查点,以确保程序的特定条件在运行时始终为真。断言的概念基于一个假设:在编写代码时,我们对某些条件有一定的信心,认为它们在程序执行时...

    Assertions-in-java.rar_REvision_site:www.pudn.com

    Java中的断言(Assertions)是Java SE 1.4及更高版本中引入的一个强大功能,主要用于测试和调试代码。断言允许程序员在代码中插入条件检查,这些条件应该始终为真,如果它们变为假,那么可能表明存在错误。在本复习...

Global site tag (gtag.js) - Google Analytics