栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java assert处理异常及注意点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java assert处理异常及注意点

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.处理AssertionError

AssertionError类继承了Error类,而Error类本身继承了Throwable。这意味着AssertionError是一个非检查的异常(unchecked exception)。

Exception in thread "main" java.lang.AssertionError: Connection is null
        at com.baeldung.assertion.Assertion.setup(Assertion.java:15)
        at com.baeldung.assertion.Assertion.main(Assertion.java:10)

使用断言的方法不需要声明它们,而且进一步的调用代码不应尝试捕捉抛出的AssertionError。

AssertionErrors用于指出在应用程序中不可恢复的出错情况,因此不要试图处理它们或尝试恢复。

2.asser使用注意

(1)assert关键字需要在运行时候显式开启才能生效,否则你的断言就没有任何意义。而现在主流的Java IDE工具默认都没有开启-ea断言检查功能。这就意味着你如果使用IDE工具编码,调试运行时候会有一定的麻烦。并且,对于Java Web应用,程序代码都是部署在容器里面,你没法直接去控制程序的运行,如果一定要开启-ea的开关,则需要更改Web容器的运行配置参数。这对程序的移 植和部署都带来很大的不便。

(2)用assert代替if是陷阱之二。assert的判断和if语句差不多,但两者的作用有着本质的区别:assert关键字本意上是为测试 调试程序时使用的,但如果不小心用assert来控制了程序的业务流程,那在测试调试结束后去掉assert关键字就意味着修改了程序的正常的逻辑。

(3)assert断言失败将面临程序的退出。这在一个生产环境下的应用是绝不能容忍的。一般都是通过异常处理来解决程序中潜在的错误。但是使用断言就很危险,一旦失败系统就挂了。

以上就是java assert处理异常及注意点的分析,我们使用assert是为了测试程序的异常,但这种异常出现后,并不能被恢复,这也是assert在java中使用不多的原因。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/15274.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号