A MulTEx exception is a highly diagnostic exception with a
parameterized, internationalizable message text pattern. In contrary the
standard Throwable of the Java platform does not
have an internationalizable message text, and has at most one parameter
of type String. MulTEx distinguishes between two
kinds of exception.
Subclasses of multex.Exc serve as business
rule exceptions, that is they serve for specifying and implementing the
“negative” business rules. In fact, a business rule
exception represents the negation of a precondition to a method. When
specifying a method, you should specify in its throws
clause all exceptions, which the method can guarantee to its
caller.
Subclasses of multex.Failure serve to
indicate to the caller an unexpected failure of a method. Typically they
contain a causing exception, which occured during the method execution.
Historically earlier than the JDK 1.4, MulTEx introduced the notion of a
causing exception, which in fact results in a chain of exceptions. As
this is especially useful in layered software architectures, MulTEx
received its name. Nowadays MulTEx even allows a
Collection of causing exceptions, thus spanning a
causal tree.

