An interface that may be used to perform a preprocessing step to either filter out anticipated transaction failures or to mark certain failures as non-continuable. 
   Namespace:   Autodesk.Revit.DB  
  Assembly:   RevitAPI  (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0) 
  Since:  2011 
Syntax
| C# | 
|---|
   |  
| Visual Basic | 
|---|
   |  
| Visual C++ | 
|---|
   |  
Remarks
 This interface, if provided, is invoked when there are failures found at the end of a transaction. An instance of this interface can be set in the failure handling options of transaction object. 
 Examples
public class RoomWarningSwallower : IFailuresPreprocessor
{
    public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)
    {
        IList<FailureMessageAccessor> failList = new List<FailureMessageAccessor>();
        // Inside event handler, get all warnings
        failList = failuresAccessor.GetFailureMessages(); 
        foreach (FailureMessageAccessor failure in failList)
        { 
            // check FailureDefinitionIds against ones that you want to dismiss, 
            FailureDefinitionId failID = failure.GetFailureDefinitionId();
            // prevent Revit from showing Unenclosed room warnings
            if (failID == BuiltInFailures.RoomFailures.RoomNotEnclosed)
            {
                failuresAccessor.DeleteWarning(failure);
            }
        }
        return FailureProcessingResult.Continue;
    }
} Public Class RoomWarningSwallower
    Implements IFailuresPreprocessor
    Public Function PreprocessFailures(failuresAccessor As FailuresAccessor) As FailureProcessingResult Implements IFailuresPreprocessor.PreprocessFailures
        Dim failList As IList(Of FailureMessageAccessor) = New List(Of FailureMessageAccessor)()
        ' Inside event handler, get all warnings
        failList = failuresAccessor.GetFailureMessages()
        For Each failure As FailureMessageAccessor In failList
            ' check FailureDefinitionIds against ones that you want to dismiss, 
            Dim failID As FailureDefinitionId = failure.GetFailureDefinitionId()
            ' prevent Revit from showing Unenclosed room warnings
            If failID = BuiltInFailures.RoomFailures.RoomNotEnclosed Then
                failuresAccessor.DeleteWarning(failure)
            End If
        Next
        Return FailureProcessingResult.[Continue]
    End Function
End Class