2013-05-29 71 views
1

我想捕獲特定的SoapExceptions,但找不到要使用的錯誤代碼。在c中找不到SoapException錯誤代碼#

我已經嘗試使用錯誤代碼;

catch(SoapException e) 
     { 
      // Get error code 
      int ErrorCode = System.Runtime.InteropServices.Marshal.GetExceptionCode(); //System.Runtime.InteropServices.Marshal.GetHRForException(e); 

      switch (ErrorCode) 
      { 
       case -2146233087: 
        { 
         // Default parameters have not been established in the report 
         return "false"; 
        } 
       default: 
        { 
         return "false"; 
        } 
      } 
     } 

但這不起作用。有誰知道在哪裏尋找錯誤代碼? 唯一soloution我可能認爲這是做一個字符串匹配上

e.GetBaseException().ToString() 

但是這將是醜陋

ANSWER

string ErrorCode = ((e.Detail).FirstChild).InnerText; 
+1

http://msdn.microsoft.com/pl-pl/library/system.web.services.protocols.soapexception.code.aspx – Freelancer

+1

您應該輸入該答案並將其標記爲已接受,以便其他人可以找到它在將來 –

回答

0
string ErrorCode = ((e.Detail).FirstChild).InnerText; 

返回 「rsAccessDenied」,這是我需要評估我的錯誤。