专业的JAVA编程教程与资源

网站首页 > java教程 正文

被Java程序员冷落的assert指令 #assert

temp10 2024-11-05 11:53:14 java教程 20 ℃ 0 评论

然后下来看这个断言,set断言指令。看这个案例,看一下这个方法,计算平方的方法。这个方法有一个入参,有个number,要求是数据必须得是正数。这块怎么做?用的是number的指令,有没有人在项目用过?这个指令有没有人用过?谢谢。有没有用过?就是在什么情况下需要用断言?可能大家用的比较少。

这个for的段,先说下它的语法,是for的指令,然后是条件,条件就是断言这个东西什么情况是正确的,就是number大于等于零是要求的,当然它是正确的。如果不正确,注意这是一个冒号,后面是一个message,相当于是一个错误信息。

被Java程序员冷落的assert指令 #assert

注意这个东西如果number是一个负三,它会抛出一个异常,运行一下这个案例。这个案例是,再说一下什么情况会用断言。这个案例先是一个整数五,掉这个方法是正常正确的。如果这是个负三,运行的时候就应该抛出一个异常,抛出一个断言的异常叫assirt,安若,叫sirsir。

运行一下看看,让大家看看一下,这个是罐五的平方是二十五,负三的平方是九,这个并没有抛异常。这个什么原因?为什么没有抛异常?断言没起作用。小度,关机。断言为什么没起作用?有谁能说一下?大家注意断言这块没起作用是因为这个,就是一个断言。

大家注意它需要启动jvm里面一个参数,jvm默认断言是关闭的,如果要启用断言就需要打开它一个开关,就ea,ea,在这,要加参数,在这加,这有一个vmop十二字,然后是杠一a,运行一下,打开,五的平方是二十五,下面就报的是一个断言的错误,结束了一个负的数据。

这就是说明断言的指令起作用了,就意味着要想让断言生效,jvm里面必须得加参数,这样看起来是不是很复杂?很复杂。下来要知道的就是什么时候没用断言比较合适,这个大家注意,什么时候用断言,这个是大家注意的,就是对于未被导出的方法应该优先使用断言。

未被导出的意思就是非公开的,不是apr里面提供的,apr里面的代码一般都是接口都是对外的。如果是你的项目里面,本来一个方法很大几百行,要给它拆一下,把这个拆成都拆成小方法,拆出来方法之后,相互之间这方法之间是不是也得传参数?这种就相当于自己的方法,自己用。这种情况下如果按照传统的正常做数据交易的方法来做,各种a服语句判断什么的,power异常或者是返回错误码这一类的,就有点像间接的增加了工作量。

对于系统内部的错误,这个方法本来就是给自己用的,然后在自己相互之间传猜还存在一种不信任的状态,这个就可能就不是特别合适。用断言来做就相对来说比较好,用断言做就是在生产环境里面这些代码就全都失效了,不就是不起作用,那样是不会影响性能的。

而在生产环境这些方法是不可能给外部调用的,只是这都是自己在调,所以不会出现参数不一致的情况。这就是断言使用的一种情况,特别是做能多层开发,多层开发有时候不同的层次在同一个项目里面,方法本身编出来就是给自己用的,用断言做反而有优势。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表