Table of Contents

Class MailFathomException

Namespace
MailFathom.Domain.Failures
Assembly
MailFathom.Domain.dll

Represents a failure MailFathom diagnosed itself, carrying a stable code and a message already safe to surface.

public abstract class MailFathomException : Exception, ISerializable
Inheritance
MailFathomException
Implements
Derived
Inherited Members

Remarks

Deriving from this type is what separates a failure this system decided to raise from one a library, the runtime, or a caller's own mistake produced. A boundary maps the first kind by ErrorCode and answers the second with one generic code, so neither has to be recognized by a growing list of concrete types.

Every message is written for an operator to read. It must never carry a credential, a token, a certificate, a host name, a remote folder path, the mechanisms a server advertised, message content, or any other personal data. The constructors name their parameter for that obligation because they are the only route to Message a derived type has, and because every exception here can reach a log, a startup diagnostic, or operator-facing output. An account alias, a folder alias, a rule identity, a size, and a limit are permitted: they are MailFathom's own configured names for things, chosen by the operator rather than by a remote party.

Constructors

MailFathomException(string)

Initializes a new failure with a message safe to surface.

MailFathomException(string, Exception)

Initializes a new failure with a message safe to surface and the failure that revealed it.

Properties

ErrorCode

Gets the stable code identifying this failure to a boundary that must report it without naming a type.