TimeZoneNotFoundException Constructor (String, Exception)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

Public Sub New (
	message As String,
	innerException As Exception


Type: System.String

A string that describes the exception.

Type: System.Exception

The exception that is the cause of the current exception.

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.

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 Sub HandleInnerException()
   Dim timeZoneName As String = "Any Standard Time"
   Dim tz As TimeZoneInfo
      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
            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
      Return TimeZoneInfo.FindSystemTimeZoneById(tzName)
   Catch ex1 As TimeZoneNotFoundException
      Throw New TimeZoneNotFoundException( _
            String.Format("The time zone '{0}' cannot be found.", tzName), _
   Catch ex2 As InvalidTimeZoneException
      Throw New InvalidTimeZoneException( _
            String.Format("The time zone {0} contains invalid data.", tzName), _
   End Try      
End Function

.NET Framework
Available since 3.5
Return to top