加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 你应该怎么做?

发布时间:2020-12-15 00:03:52 所属栏目:Java 来源:网络整理
导读:Java检查的异常有时会强制您捕获您认为永远不会抛出的已检查异常.最佳实践要求您将其包装在未经检查的异常中并重新抛出,以防万一.在这种情况下,你用什么例外类包装? 在“//应该永远不会发生”的案例中你会包含什么例外? 解决方法 我还没有,但我会按照以下
Java检查的异常有时会强制您捕获您认为永远不会抛出的已检查异常.最佳实践要求您将其包装在未经检查的异常中并重新抛出,以防万一.在这种情况下,你用什么例外类包装?

在“//应该永远不会发生”的案例中你会包含什么例外?

解决方法

我还没有,但我会按照以下方式进行:

>让它扩展Error而不是Exception / RuntimeException,从那时起它不太可能被一个没有为它做好准备的错误处理程序捕获;
>将其包装在一些静态实用程序调用中:

例:

public static void doAssert(boolean result,String reason) {

    if ( !result ) 
        throw new OMGWereDoomedError("Assertion failed: " + reason + " .");
}

我更喜欢这些包装器,因为我可以根据需要更改实现.

此外,我不提倡使用断言,因为我并不总是控制运行时标志,但我确实希望执行在系统受到危害时突然停止.

考虑一下:

>向用户显示抱歉,我们无法处理您的付款页面;
>即使系统处于不确定状态,也要向用户确认结果.

你会选哪个?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读