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 _
)
Dim message As String
Environment.FailFast(message)
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public static void FailFast(
string message
)
[SecurityPermissionAttribute(SecurityAction::LinkDemand, Flags = SecurityPermissionFlag::UnmanagedCode)]
public:
static void FailFast(
String^ message
)
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.
' 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.)
'
// 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
Reference