Next: User-defined Exceptions, Up: Exceptions [Contents][Index]
The first 22 exception numbers are reserved for
built-in exceptions. These are declared in module status.mfl.
The following table summarizes all built-in exception types implemented by
mailfromd
version 9.0. Exceptions are listed in
lexicographic order.
The called function cannot finish its task because an incompatible message modification function was called at some point before it. For details, MMQ and dkim_sign.
General database failure. For example, the database cannot be opened. This exception can be signaled by any function that queries any DBM database.
Division by zero.
This exception is emitted by dbinsert
built-in if the
requested key is already present in the database (see dbinsert).
Function reached end of file while reading. See I/O functions, for a description of functions that can signal this exception.
A general failure has occurred. In particular, this exception is
signaled by DNS lookup functions when any permanent failure occurs.
This exception can be signaled by any DNS-related function
(hasmx
, poll
, etc.) or operation (mx matches
).
Invalid input format. This exception is signaled if input data to a
function are improperly formatted. In version 9.0 it is
signaled by message_burst
function if its input message is not
formatted according to RFC 934. See Message digest functions.
Illegal byte sequence. Signaled when a string cannot be converted between character sets because a sequence of bytes was encountered that is not defined for the source character set or cannot be represented in the destination character set.
See MIME decoding, for details.
Arguments supplied to a function are invalid.
Invalid CIDR notation. This is signaled by
match_cidr
function when its second argument is not a valid
CIDR.
Invalid IP address. This is signaled by match_cidr
function
when its first argument is not a valid IP address.
Invalid time interval specification. It is signaled by
interval
function if its argument is not a valid time interval
(see time interval specification).
An error occurred during the input-output operation. See I/O functions, for a description of functions that can signal this exception.
A Sendmail macro is undefined.
Required entity is not found. It is raised, for example, by
message_find_header
, when the requested header is not present
in the message and by DNS resolver functions when unable to
resolve host name or IP address.
The supplied argument is outside the allowed range. This is
signalled, for example, by substring
function (see substring).
Regular expression cannot be compiled. This can happen when a
regular expression (a right-hand argument of a matches
operator) is built at the runtime and the produced string is an
invalid regex.
String-to-number conversion failed. This can be signaled when a string is used in numeric context which cannot be converted to the numeric data type. For example:
set x "10a" set y x / 2
In this code fragment, line 2 will raise the e_ston_conv
exception, since ‘10a’ cannot be converted to a number.
This is not an exception in the strict sense of the word, but a constant indicating success.
A temporary failure has occurred. This can be signaled by DNS-related functions or operations.
Raised by various DNS functions when they encounter a long chain of CNAME records when trying to resolve a hostname. See CNAME chains.
The supplied URL is invalid. See Interfaces to Third-Party Programs.
Next: User-defined Exceptions, Up: Exceptions [Contents][Index]