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 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), 

.NET Framework
Available since 3.5
Return to top