我正在尝试收集所有发生的异常计数和a中的异常名称,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) {
}
}
}
更新:
如果我有类似的内容,我将Null Pointer Exception
获得40个线程和4000个任务。为什么?
catch (SQLException e) {
synchronized(this) {
exceptionMap.put(e.getCause().toString(), counter_exception.incrementAndGet());
}
}
问题内容: 通常,我会遇到必须吞下/ 块中清理代码所引发的异常以防止原始异常被吞咽的情况。 例如: 假设记录任何异常不是方法块范围内的选项,而是由调用and 方法的代码完成。 吞没和方法抛出的异常是一个好主意吗?如果没有,什么是处理上述情况的更好方法,以免吞下异常? 问题答案: 我不喜欢捕捉和抛出异常。 如果你抓住它,做 一些 与它-即使它只是记录例外。 如果您不能执行任何操作,请不要捕获它-在方
问题内容: 可以在Swift中捕获异常吗?给出以下代码: 是否可以防止异常导致整个程序崩溃?也就是说,Objective-C中的Swift等效于什么: 问题答案: 它没有异常处理,并且在开发人员论坛中的讨论讨论了为什么会这样: 但请记住,可可和可可触控传统上并不打算让您捕获异常。他们打算让您不要将它们放在首位。普通错误应使用可选类型和inout NSError参数处理;您应该通过编写更好的代码来解
本文向大家介绍C#嵌套异常并尝试catch块。,包括了C#嵌套异常并尝试catch块。的使用技巧和注意事项,需要的朋友参考一下 示例 一个能够在另一个try catch内部嵌套一个异常/块。 这样一来,您可以管理小的代码块,这些代码块可以在不破坏整个机制的情况下正常工作。 注意:抛出父catch块时,避免吞咽异常
我试图理解为什么下面的代码打印“我不应该被打印!!" try块中的代码抛出一个错误,当它的errorAction变量被设置为stop时,Ppowershell将执行相应的catch块。 在catch中,测试函数调用将失败(因为测试函数参数属性validateSet不包括“facdfsd”)并抛出明显不终止的异常:ParameterArgumentValidationError 我现在期望执行在测试
这个块似乎没有捕获发生的错误,这很奇怪,考虑到我对网站的注册部分有一个类似的块。这将处理登录。该错误发生在第三行 并引发此错误: 当电子邮件格式错误时会发生这种情况,例如。因此,当它是时,我希望在块中设置错误消息。 有人知道为什么这个< code>try catch不起作用吗?
问题内容: 我正在检查Java SE7的新功能,目前我正在: http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch- multiple.html 关于捕获多个功能,当我遇到以下语句时: 注意:如果catch块处理多个异常类型,则catch参数隐式为final。在此示例中,catch参数ex是最终的,因此您不能在ca