This documentation is archived and is not being maintained.

Environment.FailFast Method

Note: This method is new in the .NET Framework version 2.0.

Terminates a process but does not execute any active try-finally blocks or finalizers.

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

public static void FailFast (
	string message
public static void FailFast (
	String message
public static function FailFast (
	message : String



A message that explains why the process was terminated, or a null reference (Nothing in Visual Basic) if no explanation is provided.

The FailFast method writes a log entry to the Windows Application event log using the message parameter, creates a dump of your application, and then terminates the current process.

Use the FailFast method instead of the Exit method to terminate your application if the state of your application is damaged beyond repair, and executing your application's try-finally blocks and finalizers will corrupt program resources. The FailFast method terminates the current process and executes any CriticalFinalizerObject objects, but does not execute any active try-finally blocks or finalizers.

The following code example writes a log entry to the Windows Application event log and terminates the current process.

// This code example demonstrates the Environment.FailFast() 
// method.

using System;

class Sample 
    public static void Main() 
    string causeOfFailure = "A castrophic failure has occured.";

// Assume your application has failed catastrophically and must 
// terminate immediately. The try-finally block is not executed 
// and is included only to demonstrate that instructions within 
// try-catch blocks and finalizers are not performed.

        Console.WriteLine("This finally block will not be executed.");

This code example produces the following results:

(No output is produced because the application is terminated. However, 
an entry is made in the Windows Application event log, and the log 
entry contains the text from the causeOfFailure variable.)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0