2015-09-04 84 views
0

我是SpringMVC的新手,我遇到了一个奇怪的错误。 目的我创建了一个“NullPointerException”来测试我的ErrorPage处理和异常处理。引发异常,页面被调用,但对象为空

现在我有这样的方法,请求映射为空指针异常

@ExceptionHandler(NullPointerException.class) 
public ModelAndView handleCustomException(NullPointerException ex) { 

    ModelAndView model = new ModelAndView("ErrorPage"); 
    model.addObject("status", "NullPointerException: " + ex.getMessage()); 

    return model; 

} 

的方法被调用时,我知道这是因为我可以看到实际的页面,但ex.getMessage()总是有“空“(并且对象为空)。

有人可以向我解释为什么以及如何解决这个问题?

+2

这是因为'Object a = null;抛出'NullPointerException' a.doSomething();'没有消息。尝试明确地抛出一个消息的NPE。 – Tunaki

+0

您是否创建了NullPointerException的实例?或者你的消息可能为空... –

+1

'抛出新的NullPointerException' – csmckelvey

回答

0

出于完整性:

抛出异常,但作为@Tunaki说,异常并

Object a = null; a.doSomething(); 

没有消息抛出。所以我用消息创建了一个新的NullPointerException,并手动抛出它。问题解决了!