IDEA中java断言assert语法及使用
作者:爱敲代码的三毛 发布时间:2022-12-28 21:07:00
标签:java,断言,assert
前言
同C语言一样,Java也有断言关键字assert,它们的用法也比较相似。
注意:Java的断言是从1.4版本开始的,以前的版本不支持断言。
一、断言语法
java中断言有两种语法
assert 布尔表达式;
assert 布尔表达式 :“错误信息提示”;
第一种语法如果条件判断为ture程序继续执行,如果判断为false,则会终止程序并报出AssertionError异常。
第二种语法如果判断为ture程序也是继续执行,如果判断为false,则会终止程序并报出你所输入的错误信息。
二、IDEA中的断言
在IDEA中断言是默认关闭的,需要我们手动打开。
找到你需要断言的类在 VM options中输入-ea就好了
三、代码示例
public class Test{
public static void toString(int[] arr){
assert arr!=null : "你传递了一个错误的引用";
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void main(String[] args) {
int[] array = {1,2,3,4,5,6,7,8,9};
toString(null);
}
}
可以看到但布尔表达式判断为false程序会停止运行并报出错误。
断言不是默认开启的,需要手动开启,这就给程序的移植带来了不便。
一旦断言判断失败整个程序就会终止,在一个生产环境下的应用是非常危险的。
所以我们应该避免使用断言,使用if语句判断会更好。
来源:https://blog.csdn.net/weixin_53946852/article/details/116067130
0
投稿
猜你喜欢
- 实现Struts登录1、jar包拷贝首先是建立java web项目,之后打开我们我们下载好strtus框架,Struts-1.2.9-bin
- 在hibernate5中,有了一些新的变动: 新引导 APISpatial/GIS 支持Java 8 支持扩展 AUTO
- 示例 1 :使用搜索表单创建全屏模式我们要构建的小应用程序有一个应用程序栏,右侧有一个搜索按钮。按下此按钮时,将出现一个全屏模式对话框。它不
- 1. 线程转储简介线程转储(Thread Dump)就是JVM中所有线程状态信息的一次快照。线程转储一般使用文本格式, 可以将其保存到文本文
- package TOOLS;import java.io.BufferedReader;import java.io.File;import
- 定义在一幅无向图G=(V,E) 中,(u,v) 为连接顶点u和顶点v的边,w(u,v)为边的权重,若存在边的子集T&am
- 本文实例讲述了Java使用JDBC连接postgresql数据库。分享给大家供大家参考,具体如下:package tool;import j
- 同步日志的业务流程处理和日志打印是在同一个线程,日志打印的过程实际上是写文件IO的过程,这个过程是相对耗时的,并且会阻塞主线程的执行,只有日
- 本文实例为大家分享了java实现登录验证码功能的具体代码,供大家参考,具体内容如下登录验证码登录验证是大多数登录系统都会用到的一个功能,它的
- 前言springboot提供了 spirng-boot-starter-test 以供开发者使用单元测试,在引入 spring-boot-s
- WPF实现一个简单的多运算符表达式计算器,供大家参考,具体内容如下1.先看下效果图首先外围给了一个grid 把他分成了两行 第一行用来显示文
- spring与IoCIoC:控制反转,将由代码操纵的对象控制权,交给第三方容器,反转给第三方容器。这种对象依赖的关系管理方式,称作IoC。I
- Java中 * 主要有JDK和CGLIB两种方式。区别主要是jdk是代理接口,而cglib是代理类。优点:这种方式已经解决我们前面所有日记
- @RequestBody,@RequestParam和@Param区别@Param@Param是mybatis中的注解,用注解来简化xml配
- 前言本文将带您了解在 Flutter 中制作翻转卡片动画的两个完整示例。第一个示例从头开始实现,第二个示例使用第三方包。闲话少说,让我们动手
- java的jar是一个打包工具,用于将我们编译后的class文件打包起来,这里面主要是举一个例子用来说明这个工具的使用。在C盘下的temp文
- 在阅读这篇文章之前,大家可以先看下《Java多线程atomic包介绍及使用方法》,了解atomic包的相关内容。一、何谓Atomic?Ato
- 目录栈溢出(虚拟机栈和本地方法栈)产生原因解决思路堆溢出产生原因解决思路方法区和运行时常量池溢出产生原因解决思路本机直接内存溢出产生原因解决
- 前言借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点
- 成员内部类1.定义成员内部类是直接定义在类中,不加任何修饰符的(特指不加static修饰的)的内部类,可以类比着成员变量来理解,如下面这个代