No result defined for action

问题场景:
项目设计模式:SpringMVC
调试程序过程中出现如下异常

异常信息:
com.opensymphony.xwork2.config.ConfigurationException: No result defined for action com.XXX.web.action.ProjectAction and result
    at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:374) [xwork-core-2.3.32.jar:2.3.32]
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276) [xwork-core-2.3.32.jar:2.3.32]

问题分析:
调试代码过程中,ACTION执行突然失效,无法跳转下一个页面,控制台报上面的异常,无法对应指定的出错原因

问题解决:
Debug 模式跟踪,发现在执行调用一个接口时发生异常,无返回值。导致空指针异常,而在ACTION的代码中仅仅有一个打的 try catch 代码块,在 catch 中未做相应的跳转处理,所以程序报错,找不到跳转的位置

问题总结:
不要一个方法里面一个try catch ,用一个 Exception 代表所有。逐个方法,逐个抛出相应异常并打印
try catch finally 处理,如何 if esle 配对出现,处理 if ,有时无需处理 else ,但为了避免出现错误,有if 一定要有 else ,可以仅仅输出一行日志;同理,在 try 中做了跳转处理,在 catch 中同样要考虑如果发生异常了,该如何处理,跳转哪个页面。

猜你喜欢

转载自mingyundezuoan.iteye.com/blog/2394623