`

java 断言 assert 初步使用:断言开启、断言使用

    博客分类:
  • java
阅读更多
java 断言 assert 初步使用:断言开启、断言使用



(一)首先明确:
java断言Assert是jdk1.4引入的。
jvm 断言默认是关闭的。

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

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

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

(二)判断eclipse是否开启了断言,代码如下:

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

}

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

如果没有启用断言,则按按照下面方法开启断言。

(三)eclipse中开启断言

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

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

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

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

(四)断言使用

第 1 种使用方法:

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 改为 12;
     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 ...

    eclipse如何开启断言assert

    以下是详细的步骤,指导你在Eclipse中开启断言assert的配置流程: 1. 首先,确保你已经安装了Java Development Kit (JDK) 并且在Eclipse中配置了JDK环境。如果你还没有安装JDK,你需要先去Oracle官网下载并安装对应...

    断言assert函数,C语言assert函数完全攻略.docx

    在使用断言assert函数时,需要注意以下几点: 1. 断言assert函数只能在Debug版本中起作用,而在Release版本中将被忽略。 2. 断言assert函数可以通过定义宏或设置编译器参数来启用或禁用断言检查。 3. 断言assert...

    ns3 assert failed. cond=”uid != 0″, msg=”Assert in TypeId::LookupByName: xxx not found”, file=../src

    在NS-3模拟环境中,你遇到了一个典型的错误提示:“ns3 assert failed. cond=”uid != 0″, msg=”Assert in TypeId::LookupByName: xxx not found”。”这个错误通常表明在查找Type Identifier (TypeId) 时出现了...

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

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

    Java中断言使用案例

    这个概念在【标题】"Java中断言使用案例"中被强调,而【描述】进一步指出文档会探讨使用断言的优势及其用法。下面将详细阐述Java中断言的原理、好处以及如何使用。 1. **什么是Java断言**: Java断言是一种机制,...

    Python断言(assert)深度解析:用法、应用场景与实践技巧

    在Python编程中,断言(assert)是一种用于验证程序状态的工具,它可以帮助开发者确保代码中的某些条件为真。如果断言的条件为假,则程序会抛出一个AssertionError异常。断言通常用于捕获编程错误,验证函数参数,...

    C语言断言assert的用法.pdf

    C语言断言assert的用法 assert是C语言中的一种断言机制,用于在程序中检测和检查某些条件是否成立。如果条件不成立,则程序将终止执行并输出错误信息。assert的用法格式为`assert(expression)`,其中expression是...

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

    Java异常处理机制是Java编程中不可或缺的一部分,它用于处理程序运行过程中可能出现的错误或异常情况。这个机制通过五个关键字:try、catch、throw、throws、finally来实现。 1. **try** 关键字:用于包围可能抛出...

    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. ...

    assert-diff:断言等于Crystal的可读差异报告

    安装将依赖项添加到您的shard.yml : dependencies : assert-diff : github : YusukeHosonuma/assert-diff 运行分shards install例子在规格中使用: require " assert-diff "struct Rectangle def initialize ( @...

    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' ...

    assert.sh:针对外壳脚本用户的断言库

    标题和描述都指向了同一个主题——`assert.sh`,这是一个专为外壳脚本用户设计的断言库。断言(Assertion)在编程中是一种强大的调试手段,它允许程序员在代码中插入检查点,以确保程序在关键点的行为符合预期。下面...

    编程语言JAVA断言使用.pdf

    `-source 1.4`指明了使用的Java编译器版本为1.4,而`-ea`(或`-enableassertions`的缩写)用于在运行时开启断言检查。 第二个示例程序是`AssertExampleTwo`类: ```java public class AssertExampleTwo { public ...

    VC中如何使用ASSERT断言

    在本篇文章中,我们将深入探讨如何在VC中使用`assert`断言,以及它在软件开发中的作用。 `assert`宏定义在`<assert.h>`头文件中,主要用于测试假设条件。当程序运行到含有`assert`的语句时,如果表达式的值为零(即...

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

    本文将主要围绕Selenium在Java环境下的断言操作进行详细阐述,并结合其他相关知识点进行扩展。 断言在软件测试中扮演着至关重要的角色,它是验证预期结果与实际结果是否一致的关键步骤。在Selenium中,我们可以通过...

    Assert使用

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

    C语言中用ASSERT调试的八个技巧

    4. 不要将 ASSERT 用于错误处理:错误处理是用于处理可能发生的错误,比如文件无法打开等,而断言是用来检测代码中是否存在缺陷的。错误处理应该与缺陷寻找分开来。 5. ASSERT 仅对开发有意义,不能用于生产:通常...

Global site tag (gtag.js) - Google Analytics