WebException में मैं GetResponse की बॉडी नहीं देख सकता। यह C # में मेरा कोड है:
try {
return GetResponse(url + "." + ext.ToString(), method, headers, bodyParams);
} catch (WebException ex) {
switch (ex.Status) {
case WebExceptionStatus.ConnectFailure:
throw new ConnectionException();
case WebExceptionStatus.Timeout:
throw new RequestTimeRanOutException();
case WebExceptionStatus.NameResolutionFailure:
throw new ConnectionException();
case WebExceptionStatus.ProtocolError:
if (ex.Message == "The remote server returned an error: (401) unauthorized.") {
throw new CredentialsOrPortalException();
}
throw new ProtocolErrorExecption();
default:
throw;
}
मुझे हेडर दिखाई दे रहा है लेकिन मुझे शरीर दिखाई नहीं दे रहा है। यह अनुरोध के लिए Wireshark से आउटपुट है:
POST /api/1.0/authentication.json HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Accept: application/json
Host: nbm21tm1.teamlab.com
Content-Length: 49
Connection: Keep-Alive
userName=XXX&password=YYYHTTP/1.1 500 Server error
Cache-Control: private, max-age=0
Content-Length: 106
Content-Type: application/json; charset=UTF-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
X-Powered-By: ARR/2.5
Date: Mon, 06 Aug 2012 12:49:41 GMT
Connection: close
{"count":0,"startIndex":0,"status":1,"statusCode":500,"error":{"message":"Invalid username or password."}}
क्या यह किसी भी तरह से संदेश को देखने के लिए संभव है WebException में? धन्यवाद।
क्या आपने (HttpWebResponse) हम कोशिश की है। Where हम ’आपका पकड़ा हुआ वेब अपवाद कहां है?
—
जस्टिन हार्वे
रेथ्रोएन अपवाद में स्टैक ट्रेस को संरक्षित करने के लिए उपयोग नहीं करते हैं
—
user1713059
throw ex;
लेकिन बस throw;
(डिफ़ॉल्ट मामले में)। इसके अतिरिक्त (यदि आवश्यक हो) मैं मूल WebException को आपके कस्टम अपवाद Inner InnerException (उपयुक्त निर्माणकर्ता के माध्यम से) में रखूंगा।