Feature #1139

Updated by J. Moringen over 11 years ago

It would be nice to refer users to suitable documentation when certain errors are encountered.

This has been suggested before (see #967).

There are examples in other middlewares:
<pre>
6.210 [ Warning][DeploymentComponent::configureComponents] The protocol with id 3 did not register a fall-back handler for unknown types!
6.210 [ Warning][DeploymentComponent::configureComponents] triggered by: unknown_t which does not have a transport.
6.210 [ ERROR ][DeploymentComponent::configureComponents] Could not create transport stream for port FRIState with transport id 3
6.210 [ ERROR ][DeploymentComponent::configureComponents] No such transport registered. Check your policy.transport settings or add the transport for type /tFriIntfState
</pre>

A more generic approach than the above would be attaching references as data structures to exceptions. The information could then be printed in way suiting the situation at hand. Here is an example of such a feature being implemented as a mixin class for exception classes:
<pre>
The bounding indices 1 and 2 are bad for a sequence of length 0.
[Condition of type SB-KERNEL:BOUNDING-INDICES-BAD-ERROR]
See also:
Common Lisp Hyperspec, _bounding index designator_ [:glossary]
Common Lisp Hyperspec, _SUBSEQ-OUT-OF-BOUNDS:IS-AN-ERROR_ [:issue]
</pre>
Where the @_..._@ parts are hyperlinks.

Where could this be used?
* Incompatible payload type vs. informer type => "polymorphic informer" (source:rsb-manual|troubleshooting.rst@20f6d6bc#L215)

Back