第一次尝试Java,请善待。我在 Web 控制器中有以下代码,其中基于封闭的 Switch-Case 语句调用服务。
我面临的问题是,如果服务调用引发异常,则此异常会显示在 JSP 页面上。基本上代码永远不会到达以下行:
if(!statusFlag)
{
model.addAttribute("statusFlag", statusFlag);
return "myJspPage"
}
即使在 WebService 调用中引发异常,我如何确保执行到上述行:
statusFlag = myWebService.getMeStatus();
我应该将整个 Switch 语句包含在 try-catch 块中吗?
片段:
@Controller
public String mySpringController() throws Exception
{
//rest of the controller code
switch ( condition )
{
case MAY :
statusFlag = myWebService.getMeStatus();
if(!statusFlag)
{
model.addAttribute("statusFlag", statusFlag);
return "myJspPage"
}
break;
case JUNE :
statusFlag = myWebService.getMeStatus();
if(!statusFlag)
{
model.addAttribute("statusFlag", statusFlag);
return "myJspPage"
}
break;
case JULY :
statusFlag = myWebService.getMeStatus();
if(!statusFlag)
{
model.addAttribute("statusFlag", statusFlag);
return "myJspPage"
}
break;
default:
//Do something by default.
}
return "myJspPage";
}