.NET Framework Class Library
Environment..::.FailFast Method

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

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

Visual Basic (Declaration)
<SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags := SecurityPermissionFlag.UnmanagedCode)> _
Public Shared Sub FailFast ( _
    message As String _
)
Visual Basic (Usage)
Dim message As String

Environment.FailFast(message)
C#
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public static void FailFast(
    string message
)
Visual C++
[SecurityPermissionAttribute(SecurityAction::LinkDemand, Flags = SecurityPermissionFlag::UnmanagedCode)]
public:
static void FailFast(
    String^ message
)
JScript
public static function FailFast(
    message : String
)

Parameters

message
Type: System..::.String
A message that explains why the process was terminated, or nullNothingnullptra null reference (Nothing in Visual Basic) if no explanation is provided.
Remarks

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.

Examples

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

Visual Basic
' This code example demonstrates the Environment.FailFast() 
' method.

Imports System

Class Sample
    Public Shared Sub Main() 
        Dim causeOfFailure As String = "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.

        Try
            Environment.FailFast(causeOfFailure)
        Finally
            Console.WriteLine("This finally block will not be executed.")
        End Try

    End Sub 'Main
End Class 'Sample

'
'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.)
'
C#
// 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.

    try 
        {
        Environment.FailFast(causeOfFailure);
        }
    finally
        {
        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.)

*/
.NET Framework Security

Platforms

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

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.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference



Community Content

xBlueberryx
Question regarding Environment.FailFast

What is the location of the created dump file?

What about comparing Environment.FailFast, to Process.Kill method and Evnironment.Exit, in the following aspects:
1. Performance, i.e. how fast is closes the application/process.
2. Logging.
3. Usage.


Any additional comparisons are welcomed.

Tags : fast fail

Dave Sexton
Throws FatalExecutionEngineError

Calling Environment.FailFast throws FatalExecutionEngineError. Apparently, this is by design.

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=337610&wa=wsignin1.0

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3200275&SiteID=1

Tags :

Page view tracker