3

经过一段时间的研究和尝试不同的事情后,我仍然无法在我的 jUnit 集成测试中调用我的 @ExceptionHandler。请帮我理解为什么?

@RequestMapping(value = "/someURL", method = RequestMethod.POST)
public ModelAndView batchUpload(@RequestBody final String xml, @RequestParam boolean replaceAll)
    throws IOException, URISyntaxException, SAXException, ParserConfigurationException, InvocationTargetException, IllegalAccessException, UnmarshallingFailureException
{
StreamSource source = new StreamSource(new StringReader(xml));
DomainClass xmlDomainClass;

try
{
    xmlDomainClass = (DomainClass) castorMarshaller.unmarshal(source);
}
catch (UnmarshallingFailureException me)
{
    // some logging. this gets executed
    throw me;
}

.

@ExceptionHandler(Throwable.class)
public ModelAndView handleUnmarshallingExceptions(Throwable th)
{
// never executes anything in here
return new ModelAndView( /*some parameters */ );
}
4

1 回答 1

4

Spring:RESTful 控制器和错误处理帮助了我,我的问题是缺少这个:

@Component
public class AnnotatedExceptionResolver extends AnnotationMethodHandlerExceptionResolver{
  public AnnotatedExceptionResolver() {
    setOrder(HIGHEST_PRECEDENCE);
  }
}
于 2012-06-12T05:44:43.413 回答