Class MailboxMutationRefusedException
- Namespace
- MailFathom.Application.Mail.Mutations
- Assembly
- MailFathom.Application.dll
Indicates that a mail server was reached, answered, and will answer the same way every later time.
public abstract class MailboxMutationRefusedException : MailFathomException, ISerializable
- Inheritance
-
MailboxMutationRefusedException
- Implements
- Derived
- Inherited Members
Remarks
It exists so the two callers that act on that fact name one type instead of each keeping a list of the concrete refusals. The performer abandons a mutation raising one of these on its first occurrence rather than spending the attempt bound, and a convergence pass counts it as given up on rather than as failed — and those two decisions would silently disagree the moment a third refusal was added to one list and not the other.
What every subclass asserts is the same thing, and it is the opposite of what MailboxUnavailableException asserts: the server did not fail to answer, it answered, and the answer is a decision an operator has to change something to alter. A failure that might clear on its own is not one of these, however certain it looks.
It carries no MailFathomErrorCode of its own, because a code names one failure a boundary reports and each subclass has one. Being abstract, it is never raised and never caught in place of knowing which refusal happened where that matters.
Constructors
- MailboxMutationRefusedException(string)
Initializes a new refusal with a message safe to surface.
- MailboxMutationRefusedException(string, Exception)
Initializes a new refusal with a message safe to surface and the failure that revealed it.