gpt4 book ai didi

Java - 处理来自实现 1 个接口(interface)的具体类的错误

转载 作者:行者123 更新时间:2023-11-29 08:12:27 25 4
gpt4 key购买 nike

在我们的代码中,我们有许多实现相同接口(interface)的处理器。通过在我们的代码中使用 spring 和一些参数,我们查找要调用的 IMsgProcessorInbound 类的正确具体实现。

当任何这些具体实现中发生异常时,我想在下面的 try catch block 中捕获异常。

不幸的是,在具体实现中抛出异常时,这个 try catch block 永远不会进入。

有没有什么方法可以在下面列出的 catch block 中捕获异常,而不是用异常处理代码乱扔我所有的具体实现?还是 spring 可以提供一些错误处理功能?

IMsgProcessorInbound msgProcessor = msgProcessorSelectorInbound.lookupProcessorInbound(args);


try {
msgProcessor.processMsg(fixProcessorArgs);
} catch (Exception e) {
log.error("Exception is: " + e);
}

非常感谢所有对此问题的帮助。

谢谢达米安

最佳答案

检查这个;

  try {
msgProcessor.processMsg(fixProcessorArgs);
} catch (Throwable e) {
log.error("Exception is: " + e);
}

msgProcessor.processMsg() 可能不会抛出异常类型。 Throwable 类是所有错误和异常的父类(super class)。所以上面应该捕获已检查和未检查的异常。

如果您仍然无法进入 catch block - 那么 msgProcessor.processMsg() 可能正在吞噬异常。

关于Java - 处理来自实现 1 个接口(interface)的具体类的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7337336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com