I have this catch statement:
} 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);
}
}
When it's hit I can see that LOGGER.info("AxisFault: " e); seems to be ignored. The if statement is entered and I can see the debugger on line throw new MyServiceException(HiPlusDatastoreProviderImpl.class.toString(), "My error text"); but then it jumps to LOGGER.info("Failed: " e);.
If I remove LOGGER.info("AxisFault: " e); the if is never entered. It jumps straight to the else. MyServiceException never actually seems to be thrown. How do I resolve this?
Update
I updated my catch to:
} catch (Exception e) {
if (e.getMessage().contains("My error text")) {
throw new MyServiceException(HPDatastoreProviderImpl.class.toString(),
"My error text");
} else {
LOGGER.info("Failed: " e);
}
}
The if doesn't get entered but on the catch I can see e={AxisFault@1914} "My error text in my debugger. That's the reason I thought this was an access fault. I feel I'm no further on with this.
CodePudding user response:
There seems to have been some issue with my environment. After clearing my browser cache, restarting my laptop, then rebuilding the application it finally worked. Sorry for wasting everyone's time.
