Debug.Fail Method

Definition

Emits an error message.

Overloads

Fail(String, String)

Emits an error message and a detailed error message.

Fail(String)

Emits the specified error message.

Fail(String, String)

Emits an error message and a detailed error message.

public:
 static void Fail(System::String ^ message, System::String ^ detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Fail (string message, string detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Fail (string? message, string? detailMessage);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Fail : string * string -> unit
Public Shared Sub Fail (message As String, detailMessage As String)

Parameters

message
String

A message to emit.

detailMessage
String

A detailed message to emit.

Attributes

Examples

The following example uses the Fail method to print a message during exception handling.

catch ( Exception^ e ) 
{
   #if defined(DEBUG)
   Debug::Fail( "Cannot find SpecialController, proceeding with StandardController", "Setting Controller to default value" );
   #endif
}
catch (Exception)
{
    Debug.Fail("Invalid value: " + value.ToString(),
       "Resetting value to newValue.");
    value = newValue;
}
Catch e As Exception
    Debug.Fail("Invalid value: " + value.ToString(), "Resetting value to newValue.")
    value = newValue
End Try

You can also use the Fail method in a switch statement.

   switch ( option )
   {
      case Option::First:
         result = 1.0;
         break;

      // Insert additional cases.
      
      default:
         #if defined(DEBUG)
         Debug::Fail( "Unknown Option" + option, "Result set to 1.0" );
         #endif
         result = 1.0;
         break;
   }
switch (option1)
{
    case MyOption.First:
        result = 1.0;
        break;

    // Insert additional cases.

    default:
        Debug.Fail("Unknown Option " + option1, "Result set to 1.0");
        result = 1.0;
        break;
}
Select Case option1
    Case MyOption.First
        result = 1.0
    
    ' Insert additional cases.
    Case Else
        Debug.Fail("Unknown Option " & option1, "Result set to 1.0")
        result = 1.0
End Select

Remarks

The default behavior is that the DefaultTraceListener outputs the message to a message box when the application is running in user interface mode and to the TraceListener instances in the Listeners collection.

Note

The display of the message box is dependent on the presence of the DefaultTraceListener. If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

See also

Applies to

Fail(String)

Emits the specified error message.

public:
 static void Fail(System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Fail (string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Fail (string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Fail : string -> unit
Public Shared Sub Fail (message As String)

Parameters

message
String

A message to emit.

Attributes

Examples

The following example uses the Fail method to print a message during exception handling.

catch ( Exception^ e ) 
{
   #if defined(DEBUG)
   Debug::Fail( "Unknown Option " + option + ", using the default." );
   #endif
}
catch (Exception)
{
    Debug.Fail("Unknown Option " + option + ", using the default.");
}
Catch e As Exception
    Debug.Fail("Unknown Option " + myOption1 + ", using the default.")
End Try

You can also use the Fail method in a switch statement.

   switch ( option )
   {
      case Option::First:
         result = 1.0;
         break;

      // Insert additional cases.
      
      default:
         #if defined(DEBUG)
         Debug::Fail( "Unknown Option" + option );
         #endif
         result = 1.0;
         break;
   }
switch (option)
{
    case Option.First:
        result = 1.0;
        break;

    // Insert additional cases.

    default:
        Debug.Fail("Unknown Option " + option);
        result = 1.0;
        break;
}
Select Case myOption1
    Case MyOption.First
        result = 1.0
    
    ' Insert additional cases.
    Case Else
        Debug.Fail(("Unknown Option " & myOption1.ToString))
        result = 1.0
End Select

Remarks

The default behavior is that the DefaultTraceListener outputs the message to a message box when the application is running in user interface mode and to the TraceListener instances in the Listeners collection.

Note

The display of the message box is dependent on the presence of the DefaultTraceListener. If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

See also

Applies to