发现 AxisFault 时似乎永远不会抛出异常

Exception never seems to get thrown when an AxisFault is found

我有这个catch声明:

} catch (Exception e) {
    if (e instanceof AxisFault) {
        LOGGER.info("AxisFault: " + e);
        if (((AxisFault) e).getFaultReason().contains("My error text")) {
            throw new MyServiceException(HPDatastoreProviderImpl.class.toString(),
                    "My error text");
        }
    } else {
        LOGGER.info("Failed: " + e);
    }
}

点击时我可以看到 LOGGER.info("AxisFault: " + e); 似乎被忽略了。输入 if 语句,我可以在 throw new MyServiceException(HiPlusDatastoreProviderImpl.class.toString(), "My error text"); 行看到调试器,但随后它跳转到 LOGGER.info("Failed: " + e);.

如果我删除 LOGGER.info("AxisFault: " + e);,则永远不会输入 if。它直接跳转到 elseMyServiceException 似乎从来没有真正被抛出过。我该如何解决?

更新

我将捕获更新为:

} catch (Exception e) {
    if (e.getMessage().contains("My error text")) {
        throw new MyServiceException(HPDatastoreProviderImpl.class.toString(),
                "My error text");
    } else {
        LOGGER.info("Failed: " + e);
    }
}

if 未输入,但在 catch 上我可以在调试器中看到 e={AxisFault@1914} "My error text。这就是我认为这是访问错误的原因。我觉得我不会再继续了。

我的环境似乎出了点问题。清除我的浏览器缓存后,重新启动我的笔记本电脑,然后重建它终于工作的应用程序。抱歉浪费了大家的时间。