All TFM conditions are grounded in a root hierarchy that could be used, for instance if you want to catch more or less everything without too much detail.
The root of all TFM conditions is simply called tfm
. Warnings
and errors are all sub-conditions of tfm-warning
and
tfm-error
respectively. Then, there are two main categories of
conditions. Conditions related to a misuse of the library’s API are
classified under the tfm-usage
hierarchy, while those related to
problems with the TFM format are found under the tfm-compliance
one.
Finally, the warning/error and usage/compliance families are mixed
together (via multiple inheritance) to produce the four last
“abstract” conditions from which all other derive (except for the
already mentioned extended-tfm
warning):
tfm-usage-warning
, and tfm-usage-error
,
tfm-compliance-warning
, and tfm-compliance-error
.