发现 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
。它直接跳转到 else
。 MyServiceException
似乎从来没有真正被抛出过。我该如何解决?
更新
我将捕获更新为:
} 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
。这就是我认为这是访问错误的原因。我觉得我不会再继续了。
我的环境似乎出了点问题。清除我的浏览器缓存后,重新启动我的笔记本电脑,然后重建它终于工作的应用程序。抱歉浪费了大家的时间。
我有这个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
。它直接跳转到 else
。 MyServiceException
似乎从来没有真正被抛出过。我该如何解决?
更新
我将捕获更新为:
} 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
。这就是我认为这是访问错误的原因。我觉得我不会再继续了。
我的环境似乎出了点问题。清除我的浏览器缓存后,重新启动我的笔记本电脑,然后重建它终于工作的应用程序。抱歉浪费了大家的时间。