This documentation is archived and is not being maintained.

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:  System.Core (in System.Core.dll)

public InvalidTimeZoneException(
	string message,
	Exception innerException


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 null. 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 void HandleInnerException()
   string timeZoneName = "Any Standard Time";
   TimeZoneInfo tz;
      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)
      return TimeZoneInfo.FindSystemTimeZoneById(tzName);
   catch (TimeZoneNotFoundException ex1)
      throw new TimeZoneNotFoundException( 
            String.Format("The time zone '{0}' cannot be found.", tzName), 
   catch (InvalidTimeZoneException ex2)
      throw new InvalidTimeZoneException( 
            String.Format("The time zone {0} contains invalid data.", tzName), 

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5