统计catch块中发生的异常数量

2023-12-05

我正在尝试收集发生异常的所有计数以及异常的名称ConcurrentHashMap这样我就应该知道这个异常发生了多少次。

因此,在我的 catch 块中,我有一个映射,它将继续添加异常的名称和出现的总计数。

下面是我的代码which I have modified to always throw SQL Exception每次都是为了测试目的,以便我可以看到异常计数是否准确。

那么某些场景-

1)如果我选择线程数为10和任务数量为50,然后在该映射中,我可以看到该特定字符串的 500 异常

2)但是如果我选择线程数作为40和任务数量为500那我就没有看到20000该地图中的例外情况,它显示了周围19000.

我的问题是为什么?我在这里做错了什么?

class Task implements Runnable {

     public static final AtomicInteger counter_exception = new AtomicInteger(0);
     public static ConcurrentHashMap<String, Integer> exceptionMap = new ConcurrentHashMap<String, Integer>();

     @Override
     public void run() {

     try {

          //Making a db connection and then executing the SQL-

         } catch (SQLException e) {
               exceptionMap.put(e.getCause().toString(), counter_exception.incrementAndGet());
          } catch (Exception e) {

          }
     }

    }

Updated:

如果我有这样的东西 - 我得到Null Pointer Exception40 个线程和 4000 个任务。为什么?

catch (SQLException e) {

synchronized(this) {
                   exceptionMap.put(e.getCause().toString(), counter_exception.incrementAndGet());
}              
}

也许这样的事情正在发生:

任务1-500:捕获异常,准备调用exceptionMap.put, 获取一个数字counter_exception.incrementAndGet()传递给所述方法

任务 500:原子整数计数器的编号为 500,已调度,因此其exceptionMap.put首先运行

任务 1:原子整数计数器的编号为 1,已调度,因此其exceptionMap.put最后运行

现在,即使计数器为 500 并且我们有 500 个异常,异常消息也会与 1 关联,因为它是最近执行的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

统计catch块中发生的异常数量 的相关文章

  • 如何克服原语按值传递的事实

    我有一段很长的代码来计算两个值 doubles 对我来说 我在几个地方使用了这段代码 为了坚持 DRY 原则 我应该将这段代码重构为一个很好的单元测试方法 但是我不能让它返回两个双精度数 而双精度数是原始的 因此不能按值传递和操作 我能想到
  • Java中字符串中特殊字符的替换

    Java中如何替换字符串 E g String a adf sdf 如何替换和避免特殊字符 您可以删除除此之外的所有字符可打印的 ASCII 范围 http en wikipedia org wiki ASCII ASCII printab
  • Java - 为什么不允许 Enum 作为注释成员?

    It says 原始 String Class an Enum 另一个注释 上述任何一个的数组 只有这些类型才是合法的 Annotation 成员 为什么泛型 Enum 不能成为 Annotation 的成员 例如 Retention Re
  • 如何使用 Java 中的 Web 服务(例如 Axis2)发送复杂对象的数组或集合?

    我对 SOAP Web 服务还比较陌生 虽然我完成了一些较小的 Web 服务项目 但我偶然从来不需要返回 或用作参数 复杂 对象的数组或集合 当我尝试这样做时 根据我的 SOAP 绑定风格 我会得到不同的奇怪行为 当我使用RPC 文字 我可
  • 在文本文件中写入多行(java)

    下面的代码是运行命令cmd并使用命令行的输出生成一个文本文件 下面的代码在 Eclipse 的输出窗口中显示了正确的信息 但在文本文件中只打印了最后一行 谁能帮我这个 import java io public class TextFile
  • Java:迭代 Collection 的最佳方法(此处为 ArrayList)

    今天 当我看到一段我已经使用了数百次的代码时 我很高兴地开始编码 迭代集合 此处为 ArrayList 出于某种原因 我实际上查看了 Eclipse 的自动完成选项 这让我想知道 在什么情况下以下循环比其他循环更好使用 经典的数组索引循环
  • SAML 服务提供商 Spring Security

    当使用预先配置的服务提供者元数据时 在 Spring Security 中 是否应该有 2 个用于扩展元数据委托的 bean 定义 一份用于 IDP 元数据 一份用于 SP 元数据
  • org.apache.sling.api.resource,version=[2.3,3) -- 无法解析

    您好 我无法访问我的项目内容 我已经上传了从 CQ 访问内容所需的所有包 我唯一能看到的是 org apache sling api resource version 2 3 3 无法解析 这是否是异常的原因 如果是 请告诉我如何解决 中Q
  • Cassandra java驱动程序协议版本和连接限制不匹配

    我使用的java驱动程序版本 2 1 4卡桑德拉版本 dsc cassandra 2 1 10cql 的输出给出以下内容 cqlsh 5 0 1 Cassandra 2 1 10 CQL spec 3 2 1 Native protocol
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • 普罗米修斯指标 - 未找到

    我有 Spring Boot 应用程序 并且正在使用 vertx 我想监控服务和 jvm 为此我选择了 Prometheus 这是我的监控配置类 Configuration public class MonitoringConfig Bea
  • 编辑文件名在 JComboBox 中的显示方式,同时保持对文件的访问

    我对 Java 很陌生 对堆栈溢出也很陌生 我正在尝试利用 JMF API 创建一个用 Java 编码的简单媒体播放器 到目前为止 我已经能够设置一个简单的队列 播放列表来使用JComboBox called playListHolder
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • Java整数双除法混淆[重复]

    这个问题在这里已经有答案了 方案1 int sum 30 double avg sum 4 result is 7 0 not 7 5 VS 方案2 int sum 30 double avg sum 4 0 Prints lns 7 5
  • Netty:阻止调用以获取连接的服务器通道?

    呼吁ServerBootstrap bind 返回一个Channel但这不是在Connected状态 因此不能用于写入客户端 Netty 文档中的所有示例都显示写入Channel从它的ChannelHandler的事件如channelCon
  • 将 Azure AD 高级自定义角色与 Spring Security 结合使用以进行基于角色的访问

    我创建了一个演示 Spring Boot 应用程序 我想在其中使用 AD 身份验证和授权 并使用 AD 和 Spring Security 查看 Azure 文档 我执行了以下操作 package com myapp contactdb c
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • Eclipse 中 Spring MVC 模型对象的 (jsp /jstl) 视图中的代码辅助

    在 Spring MVC 中 当将对象放置在视图模型中时 如下所示 public String getUser Model model fetch user model addAttribute user user return viewN
  • 调整添加的绘制组件的大小和奇怪的摆动行为

    这个问题困扰了我好几天 我正在制作一个特殊的绘画程序 我制作了一个 JPanel 并添加了使用 Paint 方法绘制的自定义 jComponent 问题是 每当我调整窗口大小时 所有添加的组件都会 消失 或者只是不绘制 因此我最终会得到一个

随机推荐

  • event 是一个全局变量,可以在回调链中的任何地方访问吗?

    我只是用 DOM 和 Javascript 来玩弄事件监听器 并注意到了这一点 function chained msg console log msg event function onClick chained the body was
  • 即使没有网络可用,如何保存 WebView 内容以供显示?

    我正在创建一个应用程序并使用 WebView 来打开 URL 我看到一些应用程序向用户提供 保存页面 网页 选项 我想知道如何从 WebView 保存页面 以便我可以在用户请求时将其显示给用户 也许使用缓存是最好的方法 为此你应该检查htt
  • 为什么这个 jQuery 事件不会在 Gmail 中触发?

    我在将 jQuery 事件绑定到 gmail body 时遇到问题 body on click function event console log Entered function 访问 IMDB com 例如 并在 Google Chr
  • 使用 DOMPDF 和重定向创建 PDF

    在 PHP 项目中 我需要创建一个 PDF 文件 并在用户单击 提交 按钮时重定向到另一个页面 我已经成功使用创建了 pdf 文件DOMPDF PDF 创建在单独的文件中完成 PDFRecipt php 当用户单击主页上的按钮时 我已调用该
  • Lambda 表达式返回错误

    这是我的代码 SomeFunction m gt ViewData AllEmployees Where c gt c LeaderID m UserID 它返回此错误 并非所有代码路径都返回 lambda 表达式类型的值System Fu
  • SDK19 启动时相机2 库崩溃的 Android 应用程序

    我在我的应用程序中使用 androidx camera camera2 库 该库适用于 SDK 21 及更高版本 但我希望允许用户在没有camera2支持的情况下启动SDK 19的应用程序 我在代码中检查了 SDK 版本 但应用程序在启动时
  • Laravel 5:找不到“HTML”类

    我刚刚开始使用 Laravel 我处于控制器方法中 我说 return View make scrape data 然后在 scrape blade php 中我有 extends layouts master 最后 在 layouts m
  • 未收到 Firebase Cloud Messaging 的 Android 后台通知

    我搜索了很多有关应用程序在后台或关闭时的通知的信息 顺便说一句 我正在使用 Firebase 云消息传递 这对我不起作用 我使用了 Android 设置 当应用程序位于前台或手机未锁定时 会收到通知 安装后 令牌会正确打印并订阅该主题 当我
  • 如何缩放 HTML5 画布而不使其变得模糊?

    我使用以下标记创建了画布
  • 如何使 UIPickerView 组件环绕?

    我想在 UIPickerView 组件中显示一组连续数字 但让它像 Clock gt Timer 应用程序的秒组件一样环绕 我可以启用的唯一行为类似于计时器应用程序的小时组件 您只能在一个方向上滚动 将行数设置为较大的数字并使其以较高的值开
  • 在字符串中插入空格(Matlab)

    我有一根绳子 S ABACBADECAEF 如何在该字符串中的每 2 个字符之间插入一个空格 预期输出应该是 Out S AB AC BA DE CA EF 有几种方法可以做到这一点 所有这些方法都假设您的字符串长度是even 如果字符数量
  • Bash:简单变量赋值时“找不到命令”

    这是我的脚本的一个简单版本 显示失败 bin bash something false something else blahblah name file ext echo something echo something else ech
  • JPanel 的绘制背景

    我怎样才能告诉paint方法只在JPanel上绘制背景而不是在整个JFrame上 我的 JFrame 大小比 JPanel 大 当我尝试为 JPanel 绘制网格背景时 网格似乎被绘制在整个 JFrame 而不仅仅是 JPanel 上 这里
  • android - 按类型过滤 assetManager.list 文件

    我想从资产中的特定目录获取 html 文件的列表 有代码 gt gt private List
  • 语句“USE @dbname”不起作用,为什么?怎么做?

    我有这个 t sql 片段 DECLARE db name varchar 255 SET db name MY DATABASE assuming there is database called my database USE db n
  • 如何从本身触发 hx-get 调用的 SSE 事件中获取 htmx get 的 url?

    我正在将 django 与 django channels 和 htmx 一起使用 在某些情况下 我的 django 视图将向订阅相关频道的用户发送 SSE 事件 例如通知 其中一些事件 取决于事件名称 需要触发模式弹出窗口 例如电子商务订
  • HTML5 Canvas - 使用鼠标按锚点旋转

    我正在html5的canvas元素中进行开发 我有以下代码 它是可拖动且可调整大小的图像 我怎样才能将它变成可通过锚点旋转 我怎样才能通过锚点提供实时旋转 我看到了其他代码示例 但不知道如何实现它 采样器工作 http jsfiddle n
  • [0,1,2,3].map 工作正常,array.map 给出奇怪的结果

    我正在使用成帧器运动 并且我正在尝试实现交错 以便每个下一个孩子都有一些不错的延迟 有一行关键代码 当我替换时 0 1 2 3 map with recipes map突然间 所有的孩子都被视为一大块 他们不再摇摇欲坠 看看这个demo你一
  • 如何启用/禁用内核 kaslr、smep 和 smap

    我想知道如何从 Linux 内核启用或禁用这 3 个功能 kaslr smep smap 我读过我必须在内核命令行中添加一些内容才能启用此功能 我查看了 proc cmdline 我没有看到任何有关 smep 的信息 但是 当我询问 pro
  • 统计catch块中发生的异常数量

    我正在尝试收集发生异常的所有计数以及异常的名称ConcurrentHashMap这样我就应该知道这个异常发生了多少次 因此 在我的 catch 块中 我有一个映射 它将继续添加异常的名称和出现的总计数 下面是我的代码which I have