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

java – 拦截异常

发布时间:2020-12-15 00:57:32 所属栏目:Java 来源:网络整理
导读:我想使用自定义异常,以便在发生任何排序异常时出现用户友好的消息. 这样做的直接方式是什么?我是否应该采取额外的预防措施来避免干扰Swing的EDT? 解决方法 例外翻译: 最好不要使用对最终用户没有意义的消息来污染您的应用程序,而是创建有意义的异常和消息
我想使用自定义异常,以便在发生任何排序异常时出现用户友好的消息.

这样做的直接方式是什么?我是否应该采取额外的预防措施来避免干扰Swing的EDT?

解决方法

例外翻译:

最好不要使用对最终用户没有意义的消息来污染您的应用程序,而是创建有意义的异常和消息,这些异常和消息将转换在应用程序实现深处发生的异常/错误.

根据@ Romain的评论,您可以使用Exception(Throwable cause)构造函数来跟踪较低级别的异常.

从Effective Java第2版,第61项:

[…] higher layers should catch
lower-level exceptions and,in their
place,throw exceptions that can be
explained in terms of the higher-level
abstraction. This idiom is known as
exception translation:

// Exception Translation
    try {
         // Use lower-level abstraction to do our bidding
         ...
    } catch(LowerLevelException e) {
         throw new HigherLevelException(...);
    }

(编辑:李大同)

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

    推荐文章
      热点阅读