This documentation is archived and is not being maintained.

TimeZoneNotFoundException Constructor (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.

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

public TimeZoneNotFoundException(
	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 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 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