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


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

Определение

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

Перегрузки

TimeZoneNotFoundException()

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

TimeZoneNotFoundException(String)

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

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

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

TimeZoneNotFoundException(String, Exception)

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

TimeZoneNotFoundException()

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

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

public:
 TimeZoneNotFoundException();
public TimeZoneNotFoundException ();
Public Sub New ()

Комментарии

Это конструктор TimeZoneNotFoundException класса без параметров. Этот конструктор инициализирует Message свойство нового экземпляра системным сообщением, описывающим ошибку, например "Часовой пояс timeZoneName не найден на локальном компьютере". Это сообщение локализуется для текущего системного языка и региональных параметров.

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

TimeZoneNotFoundException(String)

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

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

public:
 TimeZoneNotFoundException(System::String ^ message);
public TimeZoneNotFoundException (string? message);
public TimeZoneNotFoundException (string message);
new TimeZoneNotFoundException : string -> TimeZoneNotFoundException
Public Sub New (message As String)

Параметры

message
String

Строка с описанием исключения.

Комментарии

Строка message назначается свойству Message . Строка должна быть локализована для текущего языка и региональных параметров.

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

TimeZoneNotFoundException(SerializationInfo, StreamingContext)

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

Внимание!

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

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

protected:
 TimeZoneNotFoundException(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
protected TimeZoneNotFoundException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
[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 TimeZoneNotFoundException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
new TimeZoneNotFoundException : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> TimeZoneNotFoundException
[<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}")>]
new TimeZoneNotFoundException : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> TimeZoneNotFoundException
Protected Sub New (info As SerializationInfo, context As StreamingContext)

Параметры

info
SerializationInfo

Объект, содержащий сериализованные данные.

context
StreamingContext

Поток, содержащий сериализованные данные.

Атрибуты

Исключения

Параметр info имеет значение null.

-или-

Параметр context имеет значение null.

Комментарии

Этот конструктор не вызывается напрямую кодом для создания экземпляра TimeZoneNotFoundException объекта . Вместо этого он вызывается методом IFormatter объекта Deserialize при десериализации TimeZoneNotFoundException объекта из потока.

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

TimeZoneNotFoundException(String, Exception)

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

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

public:
 TimeZoneNotFoundException(System::String ^ message, Exception ^ innerException);
public TimeZoneNotFoundException (string? message, Exception? innerException);
public TimeZoneNotFoundException (string message, Exception innerException);
new TimeZoneNotFoundException : string * Exception -> TimeZoneNotFoundException
Public Sub New (message As String, innerException As Exception)

Параметры

message
String

Строка с описанием исключения.

innerException
Exception

Исключение, которое является причиной текущего исключения.

Примеры

В следующем примере пытается получить несуществующий часовой пояс, который вызывает исключение TimeZoneNotFoundException. Обработчик исключений заключает исключение в новый TimeZoneNotFoundException объект, который обработчик исключений возвращает вызывающей объекту. Затем обработчик исключений вызывающего элемента отображает сведения о внешнем и внутреннем исключении.

private void HandleInnerException()
{   
   string timeZoneName = "Any Standard Time";
   TimeZoneInfo tz;
   try
   {
      tz = RetrieveTimeZone(timeZoneName);
      Console.WriteLine("The time zone display name is {0}.", tz.DisplayName);
   }
   catch (TimeZoneNotFoundException e)
   {
      Console.WriteLine("{0} thrown by application", e.GetType().Name);
      Console.WriteLine("   Message: {0}", e.Message);
      if (e.InnerException != null)
      {
         Console.WriteLine("   Inner Exception Information:");
         Exception innerEx = e.InnerException;
         while (innerEx != null)
         {
            Console.WriteLine("      {0}: {1}", innerEx.GetType().Name, innerEx.Message);
            innerEx = innerEx.InnerException;
         }
      }            
   }   
}

private TimeZoneInfo RetrieveTimeZone(string tzName)
{
   try
   {
      return TimeZoneInfo.FindSystemTimeZoneById(tzName);
   }   
   catch (TimeZoneNotFoundException ex1)
   {
      throw new TimeZoneNotFoundException( 
            String.Format("The time zone '{0}' cannot be found.", tzName), 
            ex1);
   }          
   catch (InvalidTimeZoneException ex2)
   {
      throw new InvalidTimeZoneException( 
            String.Format("The time zone {0} contains invalid data.", tzName), 
            ex2); 
   }      
}
open System

let retrieveTimeZone tzName =
    try
        TimeZoneInfo.FindSystemTimeZoneById tzName
    with 
    | :? TimeZoneNotFoundException as ex1 ->
        raise (TimeZoneNotFoundException($"The time zone '{tzName}' cannot be found.", ex1) )
    | :? InvalidTimeZoneException as ex2 ->
        raise (InvalidTimeZoneException($"The time zone {tzName} contains invalid data.", ex2) )

let handleInnerException () =
    let timeZoneName = "Any Standard Time"
    try
        let tz = retrieveTimeZone timeZoneName
        printfn $"The time zone display name is {tz.DisplayName}."
    with :? TimeZoneNotFoundException as e ->
        printfn $"{e.GetType().Name} thrown by application"
        printfn $"   Message: {e.Message}" 
        if e.InnerException <> null then
            printfn "   Inner Exception Information:"
            let rec printInner (innerEx: exn) =
                if innerEx <> null then
                    printfn $"      {innerEx.GetType().Name}: {innerEx.Message}"
                    printInner innerEx.InnerException
            printInner e
Private Sub HandleInnerException()
   Dim timeZoneName As String = "Any Standard Time"
   Dim tz As TimeZoneInfo
   Try
      tz = RetrieveTimeZone(timeZoneName)
      Console.WriteLine("The time zone display name is {0}.", tz.DisplayName)
   Catch e As TimeZoneNotFoundException
      Console.WriteLine("{0} thrown by application", e.GetType().Name)
      Console.WriteLine("   Message: {0}", e.Message)
      If e.InnerException IsNot Nothing Then
         Console.WriteLine("   Inner Exception Information:")
         Dim innerEx As Exception = e.InnerException
         Do
            Console.WriteLine("      {0}: {1}", innerEx.GetType().Name, innerEx.Message)
            innerEx = innerEx.InnerException
         Loop While innerEx IsNot Nothing
      End If            
   End Try   
End Sub

Private Function RetrieveTimeZone(tzName As String) As TimeZoneInfo
   Try
      Return TimeZoneInfo.FindSystemTimeZoneById(tzName)
   Catch ex1 As TimeZoneNotFoundException
      Throw New TimeZoneNotFoundException( _
            String.Format("The time zone '{0}' cannot be found.", tzName), _
            ex1) 
   Catch ex2 As InvalidTimeZoneException
      Throw New InvalidTimeZoneException( _
            String.Format("The time zone {0} contains invalid data.", tzName), _
            ex2) 
   End Try      
End Function

Комментарии

Как правило, эта TimeZoneNotFoundException перегрузка используется для обработки исключения в try... catch Блок. Параметр innerException должен быть ссылкой на объект исключения, обрабатываемый в блоке catch , или может иметь значение null. Затем это значение присваивается свойству TimeZoneNotFoundException объекта InnerException .

Строка message назначается свойству Message . Строка должна быть локализована для текущего языка и региональных параметров.

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