微米计时器异常处理
我想处理记录的方法中引发的异常。例如,我将消息发送给Kafka,方法kafka.send()
,我记录了它:timer.record(() - > kafka.send())
> Kafka可能会产生一些例外,如果发生这种情况,我想进行某种交易并回滚一些代码。如何处理在kafka中抛出的异常。正如我在计时器守则中看到的那样,吞咽异常,对吗?
I want to handle exception thrown in method which is recorded. For example, I send message to kafka with method kafka.send()
, I record it: timer.record(() -> kafka.send())
Kafka may produce some exception and if its happened, I want to make some kind of transaction and rollback some code. How can I handle exception thrown in kafka.send method? As I saw in code of timer.record, it swallows exception, is it right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,
timer.record
方法不会吞下异常。最终只有块,但没有接管块: https://github.com/micrmeter-metrics-metrics/micrometer/micrometer/blob/microb/microber-core/microte/src/src/main/java/java/io/io/io/micrometer/micrometer/core/core/instrument /abstracttimer.java您可以照常处理代码中的异常。
No,
timer.record
method doesn't swallow the exception. There is only finally-block, but no catch-block: https://github.com/micrometer-metrics/micrometer/blob/main/micrometer-core/src/main/java/io/micrometer/core/instrument/AbstractTimer.javaAnd you can handle the exception in your code as usual.