WebException.Response Property

Gets the response that the remote host returned.

Namespace: System.Net
Assembly: System (in system.dll)

property WebResponse^ Response {
	WebResponse^ get ();
/** @property */
public WebResponse get_Response ()

public function get Response () : WebResponse

Property Value

If a response is available from the Internet resource, a WebResponse instance that contains the error response from an Internet resource; otherwise, a null reference (Nothing in Visual Basic).

Some Internet protocols, such as HTTP, return otherwise valid responses indicating that an error has occurred at the protocol level. When the response to an Internet request indicates an error, WebRequest.GetResponse sets the Status property to WebExceptionStatus.ProtocolError and provides the WebResponse that contains the error message in the Response property of the WebException that was thrown. The application can examine the WebResponse to determine the actual error.

The following example checks the Status property and prints to the console the StatusCode and StatusDescription of the underlying HttpWebResponse instance.

   // Create a web request for an unknown server (this raises the WebException).
   HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)(WebRequest::Create( "http://unknown.unknown.com" ));
   // Get the associated response for the above request.
   HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)(myHttpWebRequest->GetResponse());
catch ( WebException^ e ) 
   Console::WriteLine( "This program is expected to throw WebException on successful run." +
      "\n\nException Message : " + e->Message );
   if ( e->Status == WebExceptionStatus::ProtocolError )
      Console::WriteLine( "Status Code: {0}", ( (HttpWebResponse^)(e->Response) )->StatusCode );
      Console::WriteLine( "Status Description: {0}", ( (HttpWebResponse^)(e->Response) )->StatusDescription );
catch ( Exception^ e ) 
   Console::WriteLine( e->Message );

try {
    // Create a web request for an invalid site. Substitute the
    // "invalid site" strong in the Create call with a invalid name.
    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.
        Create("invalid site");
    // Get the associated response for the above request.
    HttpWebResponse myHttpWebResponse =
        ( HttpWebResponse)myHttpWebRequest.GetResponse();
catch (WebException e) {
    Console.WriteLine("This program is expected to throw WebException"
        + " on successful run." + "\n\nException Message :" 
        + e.get_Message());
    if (e.get_Status().Equals(WebExceptionStatus.ProtocolError)) {
        Console.WriteLine("Status Code : {0}", ((HttpWebResponse)(e.
        Console.WriteLine("Status Description : {0}",((HttpWebResponse)(

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions