Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

InvalidTimeZoneException Constructor (String, Exception)

Initializes a new instance of the InvalidTimeZoneException 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 overload of the InvalidTimeZoneException class 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 Nothing. This value is then assigned to the InvalidTimeZoneException object's InnerException property.

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

The following code tries to retrieve a TimeZoneInfo object that represents the Central Standard Time zone. If an InvalidTimeZoneException occurs in the RetrieveTimeZone method call, the exception handler wraps the exception in a new InvalidTimeZoneException object, which it returns to the caller. The caller's exception handler then displays information about both the outer and inner exceptions.

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

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
© 2015 Microsoft