2011-09-21 86 views
1

我在Apache Axis2 Webservices中看到异常处理。 我斯凯尔顿类抛出命名为“NoUserFound”,一个用户自定义异常,其在已配置WSDL文件Axis2:处理用户定义的异常

Inside无我的骨架类

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

是的,这看起来不错 - 如果你愿意,你捕到更多的特殊例外情况,以及...