JDK1.4特性assert的示例分析
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍了JDK1.4特性assert的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。源代码:/** * Simpl
千家信息网最后更新 2025年01月25日JDK1.4特性assert的示例分析
这篇文章主要介绍了JDK1.4特性assert的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
源代码:
/** * Simple examples of the use of the new assertion feature in JDK1.4 * * @author S.Ritter 16/7/2001 **/ public class AssertExample { public static void main(String[] args) { int x = 10; if (args.length > 0) { try { x = Integer.parseInt(args[0]); } catch (NumberFormatException nfe) { /* Ignore */ } } System.out.println("Testing assertion that x == 10"); assert x == 10:"Our assertion failed"; System.out.println("Test passed"); } }
由于引入了一个新的关键字,所以在编译的时候就需要增加额外的参数,要编译成功,必须使用JDK1.4的javac并加上参数´-source 1.4´,例如可以使用以下的命令编译上面的代码:
javac -source 1.4 AssertExample.java
以上程序运行使用断言功能也需要使用额外的参数(并且需要一个数字的命令行参数),例如:
java -ea AssertExample 1
程序的输出为:
Testing assertion that x == 10 Exception in thread "main" java.lang.AssertionError: Our assertion failed at AssertExample.main(AssertExample.java:20)
由于输入的参数不等于10,因此断言功能使得程序运行时抛出断言错误,注意是错误,这意味着程序发生严重错误并且将强制退出。断言使用boolean值,如果其值不为true则抛出AssertionError并终止程序的运行。
由于程序员的问题,断言的使用可能会带来副作用,例如:
boolean isEnable=false; //... assert isEnable=true;
这个断言的副作用是因为它修改程序变量的值并且没有抛出错误,这样的错误如果不细心检查很难发现。但是同时我们可以根据以上的副作用得到一个有用的特性,根据它测试是否将断言打开了。
/** * Simple examples test enable assertion feature in JDK1.4 * * @author Cherami 25/4/2002 **/ public class AssertExample2 { public static void main(String[] args) { boolean assertEnable=false; assert assertEnable=true; if (assertEnable==false) { throw new RuntimeException("Assertions should be enable"); } } }
如果我们不使用-ea参数运行上面的程序,则控制台将输出:
Exception in thread "main" java.lang.RuntimeException: Assertions should be enable at AssertExample.main(AssertExample.java:14)
感谢你能够认真阅读完这篇文章,希望小编分享的"JDK1.4特性assert的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
程序
参数
错误
篇文章
运行
特性
副作用
编译
示例
分析
功能
同时
命令
面的
输出
细心
成功
代码
价值
关键
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
插卡式智能服务器
小型pc做媒体服务器
琳小闹电商软件开发商
ssh+保存表格数据库
公司排查网络安全清单表
华为自己研发的数据库
维护网络安全的基本要求
常用软件开发工具有哪些
数据库中建两个表的联系
被拉去做软件开发
浙江正规软件开发供应商
计算机网络技术专业毕业
双路e5服务器搭配
金山区参考数据库前景
数据库入学时间怎么打
易练红在省委网络安全
新加坡托管服务器好吗
谈谈对数据库的安全
网络安全教育课美篇
用工具和加载宏安装分析数据库
有一台服务器能赚钱吗
郑州网络安全直播
海南中国移动dns服务器云主机
浙江正规软件开发供应商
关系数据库建立索引
智慧路灯网络安全吗
db2数据库培训
浦东新区电商软件开发经验丰富
苏打小说软件开发
服务器地址和备用服务器地址