我在Apache Axis2 Webservices中看到了异常处理。 我的Skelton类抛出一个名为“NoUserFound”的Userdefined Exception,它已在WSDL文件中配置
在我的skelton课程中
public samples.quickstart.xsd.GetPriceResponse getPrice(
samples.quickstart.xsd.GetPrice getPrice0)
throws GetSolutionByIdFault {
samples.quickstart.xsd.GetPriceResponse response = new samples.quickstart.xsd.GetPriceResponse();
response.set_return("Hi");
String value = (String) getPrice0.getSymbol();
if (value.equals("Pavan"))
throw new GetSolutionByIdFault("name not present");
return response;
}
在我的客户端类中,我正在以这种方式处理它:
try {
// Some Logic here
}
catch (AxisFault er) {
er.getMessage();
}
catch (Exception e) {
e.printStackTrace();
}
因此,当例如抛出用户定义的异常时(GetSolutionByIdFault),我在AxisFault块中处理它。
这是正确的做法吗?
答案 0 :(得分:1)
是的,看起来很好 - 如果你愿意,你也可以捕捉到更具体的例外......
答案 1 :(得分:0)
这取决于您为处理异常而必须做的事情。如果您需要根据后端异常执行特殊操作,则需要捕获每个异常并单独处理它们。
通常我以前分别处理异常。