2011-09-21 88 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

是的,這看起來不錯 - 如果你願意,你捕到更多的特殊例外情況,以及...