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


猜你喜欢
- 虽然文章的标题是词法分析,但首先还是要从编译原理说开来。编译原理应该很多人都听说过,虽然不一定会有多么了解。简单的说,编译原理就是研究如何进
- Java泛型是JDK 5引入的一个特性,它允许我们定义类和接口的时候使用参数类型,泛型在集合框架中被广泛使用。类型擦除是泛型中最让人困惑的部
- 1、配置 IDEA 的 Maven 环境单击菜单栏中的 File → Settings → Build, Ex
- 本文实例为大家分享了java实现KFC点餐系统的具体代码,供大家参考,具体内容如下package KFC点餐系统;//food 类 publ
- 1 前言在前文中,已经讲述了 AOP 的后置处理器使用和方法,在本文中继续分享增强信息相关的源码,这里才是 AOP 的核心代码。2 spri
- 首先微信公众号开发网页授权登录使用环境:开发工具:eclipse;服务器:tomcat8,开发语言:JAVA。我写的网页授权登录时用开发者模
- 前言该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包
- 在Update函数中执行:if (turnAround) { playerCamera.RotateA
- eclipse中改变默然的workspace的方法可以有以下几种:1.在创建project的时候,手动选择使用新的workspace,如创建
- 可空类型用途主要是从数据库读取数据有可能为空,而不是插入使用,插入数据都要进行验证,如果要插入数据库的null,则使用DBNull.valu
- MANIFEST.MF打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个M
- 打开idea项目后部分目录下出现橙色的时钟标志(如下):可以看到所有的java文件都显示了后缀名.java,文件的图标都变成了橙色的原因项目
- 大多数开发人员现在还在使用if else的过程结构,曾看过jdon的banq大哥写的一篇文章,利用command,aop模式替代if els
- 在Monkeyrunner做自动化测试时,可以使用模拟器,当然也可以选择用真机。不过,要想通过电脑来安装软件,操作手机,则必须先安装手机驱动
- 平时项目中只要涉及表,那么一定能接触到众多各式各样的ID编号,博主整理一些常用的ID格式,整合一个ID生成工具类,供大家参考,如果有什么不足
- 本文实例为大家分享了Unity实现聊天室功能的具体代码,供大家参考,具体内容如下简单聊天室功能,客户端发送消息后,服务器接收到消息后分发到其
- 1.设计原理通过JDK的Proxy方式或者CGLIB方式生成代理对象的时候,相关的 * 已经配置到代理对象中去了;通过 * 回调JDK动态代
- 使用WPF做的一个简单的操作文件的demo,包括复制和移动文件夹,核心思想就是使用递归,如果只是移动或者复制单一文件,直接使用File.Co
- 注解定义: 注解是一种注释机制,它可以注释包、类、方法、变量、参数,在编译器生成类文件时,标注可以被嵌入到字节码中。注解的分类:内置注解Ov
- Android Studio 打包 jar 及 aar 包创建工程 New -> Module -> Library在gradl