แก้ไข

แชร์ผ่าน


TimeZoneNotFoundException Constructors

Definition

Initializes a new instance of the TimeZoneNotFoundException class.

Overloads

TimeZoneNotFoundException()

Initializes a new instance of the TimeZoneNotFoundException class with a system-supplied message.

TimeZoneNotFoundException(String)

Initializes a new instance of the TimeZoneNotFoundException class with the specified message string.

TimeZoneNotFoundException(SerializationInfo, StreamingContext)
Obsolete.

Initializes a new instance of the TimeZoneNotFoundException class from serialized data.

TimeZoneNotFoundException(String, Exception)

Initializes a new instance of the TimeZoneNotFoundException class with a specified error message and a reference to the inner exception that is the cause of this exception.

TimeZoneNotFoundException()

Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs

Initializes a new instance of the TimeZoneNotFoundException class with a system-supplied message.

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

Remarks

This is the parameterless constructor of the TimeZoneNotFoundException class. This constructor initializes the Message property of the new instance to a system-supplied message that describes the error, such as "The time zone 'timeZoneName' was not found on the local computer." This message is localized for the current system culture.

Applies to

TimeZoneNotFoundException(String)

Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs

Initializes a new instance of the TimeZoneNotFoundException class with the specified message string.

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

Parameters

message
String

A string that describes the exception.

Remarks

The message string is assigned to the Message property. The string should be localized for the current culture.

Applies to

TimeZoneNotFoundException(SerializationInfo, StreamingContext)

Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs

Caution

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

Initializes a new instance of the TimeZoneNotFoundException class from serialized data.

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)

Parameters

info
SerializationInfo

The object that contains the serialized data.

context
StreamingContext

The stream that contains the serialized data.

Attributes

Exceptions

The info parameter is null.

-or-

The context parameter is null.

Remarks

This constructor is not called directly by your code to instantiate the TimeZoneNotFoundException object. Instead, it is called by the IFormatter object's Deserialize method when deserializing the TimeZoneNotFoundException object from a stream.

Applies to

TimeZoneNotFoundException(String, Exception)

Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs
Source:
TimeZoneNotFoundException.cs

Initializes a new instance of the TimeZoneNotFoundException class with a specified error message and a reference to the inner exception that is the cause of this exception.

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)

Parameters

message
String

A string that describes the exception.

innerException
Exception

The exception that is the cause of the current exception.

Examples

The following example tries to retrieve a nonexistent time zone, which throws a TimeZoneNotFoundException. The exception handler wraps the exception in a new TimeZoneNotFoundException object, which the exception handler returns to the caller. The caller's exception handler then displays information about both the outer and inner exception.

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

Remarks

Typically, you use this TimeZoneNotFoundException overload to handle an exception in a trycatch block. The innerException parameter should be a reference to the exception object handled in the catch block, or it can be null. This value is then assigned to the TimeZoneNotFoundException object's InnerException property.

The message string is assigned to the Message property. The string should be localized for the current culture.

Applies to