Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
System Namespace
Environment Class
 FailFast Method
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.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)
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.

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.

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

*/

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.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Community Content   What is Community Content?
Add new content RSS  Annotations
Question regarding Environment.FailFast      eliad ... xBlueberryx   |   Edit   |   Show History

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 What's this?: fail (x) fast (x) Add a tag
Flag as ContentBug
Throws FatalExecutionEngineError      Dave Sexton   |   Edit   |   Show History
Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2010 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker