private void CheckAllMessages(ContractFailureKind kind, string messageStart, Action <string, Exception, string, ContractFailureKind, Func <string> > fnAssert) { foreach (Exception ex in new [] { null, new ArgumentNullException() }) { fnAssert(messageStart + ".", ex, null, kind, () => { return(ContractHelper.RaiseContractFailedEvent(kind, null, null, ex)); }); fnAssert(messageStart + ". Message", ex, null, kind, () => { return(ContractHelper.RaiseContractFailedEvent(kind, "Message", null, ex)); }); fnAssert(messageStart + ": Condition", ex, "Condition", kind, () => { return(ContractHelper.RaiseContractFailedEvent(kind, null, "Condition", ex)); }); fnAssert(messageStart + ": Condition Message", ex, "Condition", kind, () => { return(ContractHelper.RaiseContractFailedEvent(kind, "Message", "Condition", ex)); }); } }
static void ReportFailure(ContractFailureKind kind, string userMessage, string conditionText, Exception innerException) { string msg = ContractHelper.RaiseContractFailedEvent(kind, userMessage, conditionText, innerException); // if msg is null, then it has been handled already, so don't do anything here if (msg != null) { ContractHelper.TriggerFailure(kind, msg, userMessage, conditionText, innerException); } }
internal static void ReportFailure(ContractFailureKind kind, string msg, string conditionTxt, Exception inner) { string msg1 = ContractHelper.RaiseContractFailedEvent(kind, msg, conditionTxt, inner); if (msg1 == null) { return; } // ISSUE: reference to a compiler-generated method __ContractsRuntime.TriggerFailure(kind, msg1, msg, conditionTxt, inner); }
private static void ReportFailure(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException) { if ((failureKind < ContractFailureKind.Precondition) || (failureKind > ContractFailureKind.Assume)) { throw new ArgumentException(Environment.GetResourceString("Arg_EnumIllegalVal", new object[] { failureKind }), "failureKind"); } string displayMessage = ContractHelper.RaiseContractFailedEvent(failureKind, userMessage, conditionText, innerException); if (displayMessage != null) { ContractHelper.TriggerFailure(failureKind, displayMessage, userMessage, conditionText, innerException); } }
private static void ReportFailure(ContractFailureKind failureKind, string userMessage, string conditionText, Exception innerException) { if (failureKind < ContractFailureKind.Precondition || failureKind > ContractFailureKind.Assume) { throw new ArgumentException(string.Format("Invalid enum value: {0}", failureKind), "failureKind"); } EndContractBlock(); // displayMessage == null means: yes we handled it. Otherwise it is the localized failure message var displayMessage = ContractHelper.RaiseContractFailedEvent(failureKind, userMessage, conditionText, innerException); if (displayMessage == null) { return; } ContractHelper.TriggerFailure(failureKind, displayMessage, userMessage, conditionText, innerException); }