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

java – 减少相同异常的记录

发布时间:2020-12-15 04:23:28 所属栏目:Java 来源:网络整理
导读:有没有什么聪明的方法可以减少“等于”异常的记录? 例如: java.lang.IllegalArgumentException: Wrong parameter,should be a float from 0 to 100at com.test.Foo.setAmount(Foo.java:93)at com.test.Bar.setAmounts(Bar.java:39)at com.test.Bar2.init(B
有没有什么聪明的方法可以减少“等于”异常的记录?

例如:

java.lang.IllegalArgumentException: Wrong parameter,should be a float from 0 to 100
at com.test.Foo.setAmount(Foo.java:93)
at com.test.Bar.setAmounts(Bar.java:39)
at com.test.Bar2.init(Bar2.java:152)
at java.awt.event.InvocationEvent.dispatch(Unknown Source) [na:1.7.0_65]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [na:1.7.0_65]
at java.awt.EventQueue.access$200(Unknown Source) [na:1.7.0_65]
at java.awt.EventQueue$3.run(Unknown Source) [na:1.7.0_65]
at java.awt.EventQueue$3.run(Unknown Source) [na:1.7.0_65]
at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_65]
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) [na:1.7.0_65]
at java.awt.EventQueue.dispatchEvent(Unknown Source) [na:1.7.0_65]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [na:1.7.0_65]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [na:1.7.0_65]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [na:1.7.0_65]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [na:1.7.0_65]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [na:1.7.0_65]
at java.awt.EventDispatchThread.run(Unknown Source) [na:1.7.0_65]

在特定情况下,这种异常可以每秒抛出90次.我们使用AWT处理程序来记录异常,它可以“冻结”所有Swing的应用程序.

我想到的第一个解决方法是在不同的线程中记录异常,但是这样的approch在以后的调试中可能是一个真正的地狱.

第二个想法是将异常放在WeakHashMap中,并仅在第一次出现时记录异常.我不知道如何执行异常等于是否足够快.

解决方法

如果要使用 Logback,则会有一个名为 DuplicateMessageFilter的过滤器在重复一段时间后丢弃消息.

(编辑:李大同)

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

    推荐文章
      热点阅读