Прочитать на английском

Поделиться через


WebException Конструкторы

Определение

Инициализирует новый экземпляр класса WebException.

Перегрузки

WebException()

Инициализирует новый экземпляр класса WebException.

WebException(String)

Инициализирует новый экземпляр класса WebException указанным сообщением об ошибке.

WebException(SerializationInfo, StreamingContext)
Устаревшие..

Инициализирует новый экземпляр класса WebException из указанных экземпляров SerializationInfo и StreamingContext.

WebException(String, WebExceptionStatus)

Инициализирует новый экземпляр класса WebException с указанным сообщением об ошибке и статусом.

WebException(String, Exception)

Инициализирует новый экземпляр класса WebException с указанным сообщением об ошибке и вложенным исключением.

WebException(String, Exception, WebExceptionStatus, WebResponse)

Инициализирует новый экземпляр класса WebException с указанным сообщением об ошибке, вложенным исключением, статусом и ответом.

WebException()

Исходный код:
WebException.cs
Исходный код:
WebException.cs
Исходный код:
WebException.cs

Инициализирует новый экземпляр класса WebException.

public WebException ();

Примеры

В следующем примере по умолчанию WebExceptionвозникает исключение .


 try   
 {
     // A 'Socket' object has been created.
     Socket httpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

     // The IPaddress of the unknown uri is resolved using the 'Dns.Resolve' method. 
     
     IPHostEntry hostEntry = Dns.Resolve("http://www.contoso.com");

     IPAddress serverAddress = hostEntry.AddressList[0];
     IPEndPoint endPoint = new IPEndPoint(serverAddress, 80);
     httpSocket.Connect(endPoint);
     Console.WriteLine("Connection created successfully");
     httpSocket.Close();
  }
catch(SocketException e)
  {
  String exp = e.Message;	
  // Throw the WebException with no parameters.
     throw new WebException();
  }

Комментарии

Конструктор без параметров инициализирует новый экземпляр WebException класса . Свойство Message инициализируется системным сообщением, описывающим ошибку. Это сообщение учитывает культуру текущей системы. Свойства InnerException и инициализируются Response в null. Свойство Status инициализировано значением параметра RequestCanceled.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

WebException(String)

Исходный код:
WebException.cs
Исходный код:
WebException.cs
Исходный код:
WebException.cs

Инициализирует новый экземпляр класса WebException указанным сообщением об ошибке.

public WebException (string message);
public WebException (string? message);

Параметры

message
String

Текст сообщения об ошибке.

Примеры

В следующем примере возникает исключение , WebException указывая сообщение об ошибке.

 try
{
     // A 'Socket' object has been created.
     Socket httpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

     // The IPaddress of the unknown uri is resolved using the 'Dns.Resolve' method. 
     IPHostEntry hostEntry = Dns.Resolve(connectUri);

     IPAddress serverAddress = hostEntry.AddressList[0];
     IPEndPoint endPoint = new IPEndPoint(serverAddress, 80);
     httpSocket.Connect(endPoint);
     Console.WriteLine("Connection created successfully");
     httpSocket.Close();
  }
catch(SocketException e)
  {		     
     Console.WriteLine("\nException thrown.\nThe Original Message is: "+e.Message);
     // Throw the 'WebException' object with a message string specific to the situation.
     throw new WebException("Unable to locate the Server with 'www.contoso.com' Uri.");
  }

Комментарии

Экземпляр WebException инициализируется со значением Messagemessageсвойства . Если message имеет значение null, свойство инициализируется Message в предоставленное системой сообщение. Свойства InnerException и инициализируются Response в null. Свойство Status инициализировано значением параметра RequestCanceled.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

WebException(SerializationInfo, StreamingContext)

Исходный код:
WebException.cs
Исходный код:
WebException.cs
Исходный код:
WebException.cs

Внимание!

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Инициализирует новый экземпляр класса WebException из указанных экземпляров SerializationInfo и StreamingContext.

protected WebException (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected WebException (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);

Параметры

serializationInfo
SerializationInfo

Объект SerializationInfo, который содержит сведения, необходимые для сериализации нового экземпляра класса WebException.

streamingContext
StreamingContext

Объект StreamingContext, который содержит источник сериализованного потока, связанного с новым объектом WebException.

Атрибуты

Комментарии

Этот конструктор реализует ISerializable интерфейс для WebException класса .

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии (Устарело)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 (8, 9)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

WebException(String, WebExceptionStatus)

Исходный код:
WebException.cs
Исходный код:
WebException.cs
Исходный код:
WebException.cs

Инициализирует новый экземпляр класса WebException с указанным сообщением об ошибке и статусом.

public WebException (string message, System.Net.WebExceptionStatus status);
public WebException (string? message, System.Net.WebExceptionStatus status);

Параметры

message
String

Текст сообщения об ошибке.

status
WebExceptionStatus

Одно из значений перечисления WebExceptionStatus.

Примеры

В следующем примере создается WebException , указывая сообщение об ошибке WebExceptionStatusи .


 try
{
       // A 'Socket' object has been created.
       Socket httpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

      // The IPaddress of the unknown uri is resolved using the 'Dns.Resolve' method. 
  
      IPHostEntry hostEntry = Dns.Resolve("http://www.contoso.com");

      IPAddress serverAddress = hostEntry.AddressList[0];
      IPEndPoint endPoint = new IPEndPoint(serverAddress, 80);
      httpSocket.Connect(endPoint);
      Console.WriteLine("Connection created successfully");
      httpSocket.Close();
   }
catch(SocketException e)
  {
      Console.WriteLine("\nException thrown.\nThe Original Message is: "+e.Message);
      // Throw the 'WebException' object with a message string and message status specific to the situation.
      throw new WebException("Unable to locate the Server with 'www.contoso.com' Uri.",WebExceptionStatus.NameResolutionFailure);
  }

Комментарии

Экземпляр WebException инициализируется со Message значением свойства , message а Status свойство — значением status. Если message имеет значение null, свойство инициализируется Message в предоставленное системой сообщение. Свойства InnerException и инициализируются Response в null.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

WebException(String, Exception)

Исходный код:
WebException.cs
Исходный код:
WebException.cs
Исходный код:
WebException.cs

Инициализирует новый экземпляр класса WebException с указанным сообщением об ошибке и вложенным исключением.

public WebException (string message, Exception inner);
public WebException (string? message, Exception? innerException);
public WebException (string message, Exception innerException);

Параметры

message
String

Текст сообщения об ошибке.

innerinnerException
Exception

Вложенное исключение.

Примеры

В следующем примере создается исключение путем WebException указания сообщения об ошибке и вложенного исключения.


   try
   {
          // A 'Socket' object has been created.
          Socket httpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

          // The IPaddress of the unknown uri is resolved using the 'Dns.Resolve' method. 
       
          IPHostEntry hostEntry = Dns.Resolve(connectUri);

          IPAddress serverAddress = hostEntry.AddressList[0];
          IPEndPoint endPoint = new IPEndPoint(serverAddress, 80);
          httpSocket.Connect(endPoint);
          Console.WriteLine("Connection created successfully");
          httpSocket.Close();		 
    }
  catch(SocketException e)
{ 
       Console.WriteLine("\nException thrown.\nThe Original Message is: "+e.Message);
       //  Throw the 'WebException' object with a message string specific to the situation; 
          //  and the 'InnerException' which actually lead to this exception.
          throw new WebException("Unable to locate the Server with 'www.contoso.com' Uri.",e);
    }

Комментарии

Экземпляр WebException инициализируется со Message значением свойства , message а InnerException свойство — значением innerException. Если message имеет значение null, свойство инициализируется Message в предоставленное системой сообщение. Свойства InnerException и инициализируются Response в null. Свойство Status инициализировано значением параметра RequestCanceled.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

WebException(String, Exception, WebExceptionStatus, WebResponse)

Исходный код:
WebException.cs
Исходный код:
WebException.cs
Исходный код:
WebException.cs

Инициализирует новый экземпляр класса WebException с указанным сообщением об ошибке, вложенным исключением, статусом и ответом.

public WebException (string message, Exception inner, System.Net.WebExceptionStatus status, System.Net.WebResponse response);
public WebException (string? message, Exception? innerException, System.Net.WebExceptionStatus status, System.Net.WebResponse? response);
public WebException (string message, Exception innerException, System.Net.WebExceptionStatus status, System.Net.WebResponse response);

Параметры

message
String

Текст сообщения об ошибке.

innerinnerException
Exception

Вложенное исключение.

status
WebExceptionStatus

Одно из значений перечисления WebExceptionStatus.

response
WebResponse

Экземпляр WebResponse, содержащий ответ от удаленного узла в сети.

Примеры

В следующем примере создается WebException , указывая сообщение об ошибке WebExceptionStatusи .

      // Send the data. 
      Encoding ASCII = Encoding.ASCII;
      string requestPage = "GET /nhjj.htm HTTP/1.1\r\nHost: " + connectUri + "\r\nConnection: Close\r\n\r\n";
      Byte[] byteGet = ASCII.GetBytes(requestPage);
      Byte[] recvBytes = new Byte[256];

      // Create an 'IPEndPoint' object.
 
      IPHostEntry hostEntry = Dns.Resolve(connectUri);
      IPAddress serverAddress = hostEntry.AddressList[0];
      IPEndPoint endPoint = new IPEndPoint(serverAddress, 80);

      // Create a 'Socket' object  for sending data.
      Socket connectSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);
 
      // Connect to host using 'IPEndPoint' object.

      connectSocket.Connect(endPoint);
 
      // Sent the 'requestPage' text to the host.
      connectSocket.Send(byteGet, byteGet.Length, 0);
 
      // Receive the information sent by the server.
      Int32 bytesReceived = connectSocket.Receive(recvBytes, recvBytes.Length, 0);
      String headerString = ASCII.GetString(recvBytes, 0, bytesReceived);

     // Check whether 'status 404' is there or not in the information sent by server.
     if(headerString.IndexOf("404")!=-1)
     {	 
         bytesReceived = connectSocket.Receive(recvBytes, recvBytes.Length, 0);
         MemoryStream memoryStream = new MemoryStream(recvBytes);
         getStream = (Stream) memoryStream;
 
         // Create a 'WebResponse' object
         WebResponse myWebResponse = (WebResponse) new HttpConnect(getStream);
         Exception myException = new Exception("File Not found");

         // Throw the 'WebException' object with a message string, message status,InnerException and WebResponse
         throw new WebException("The Requested page is not found.",myException,WebExceptionStatus.ProtocolError,myWebResponse);
     }

     connectSocket.Close();

Комментарии

Экземпляр WebException инициализируется со Message значением messageсвойства , свойству InnerException присваивается значение , свойству Status — значение innerException, свойству — значение status, а свойству Response — значение response. Если message имеет значение null, свойство инициализируется Message в предоставленное системой сообщение.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0