Next: , Up: Exceptions   [Contents][Index]


4.22.1 Built-in Exceptions

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.

Exception: e_badmmq

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.

Exception: e_dbfailure

General database failure. For example, the database cannot be opened. This exception can be signaled by any function that queries any DBM database.

Exception: e_divzero

Division by zero.

Exception: e_exists

This exception is emitted by dbinsert built-in if the requested key is already present in the database (see dbinsert).

Exception: e_eof

Function reached end of file while reading. See I/O functions, for a description of functions that can signal this exception.

Exception: e_failure

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).

Exception: e_format

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.

Exception: e_ilseq

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.

Exception: e_inval

Arguments supplied to a function are invalid.

Exception: e_invcidr

Invalid CIDR notation. This is signaled by match_cidr function when its second argument is not a valid CIDR.

Exception: e_invip

Invalid IP address. This is signaled by match_cidr function when its first argument is not a valid IP address.

Exception: e_invtime

Invalid time interval specification. It is signaled by interval function if its argument is not a valid time interval (see time interval specification).

Exception: e_io

An error occurred during the input-output operation. See I/O functions, for a description of functions that can signal this exception.

Exception: e_macroundef

A Sendmail macro is undefined.

Exception: e_not_found

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.

Exception: e_range

The supplied argument is outside the allowed range. This is signalled, for example, by substring function (see substring).

Exception: e_regcomp

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.

Exception: e_ston_conv

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.

Exception: e_success

This is not an exception in the strict sense of the word, but a constant indicating success.

Exception: e_temp_failure

A temporary failure has occurred. This can be signaled by DNS-related functions or operations.

Exception: e_too_many

Raised by various DNS functions when they encounter a long chain of CNAME records when trying to resolve a hostname. See CNAME chains.

Exception: e_url

The supplied URL is invalid. See Interfaces to Third-Party Programs.


Next: , Up: Exceptions   [Contents][Index]