[plt-scheme] Preferred exception structure to inherit: exn or exn:fail?

From: Danny Yoo (dyoo at cs.wpi.edu)
Date: Fri Jun 6 15:10:44 EDT 2008

I've always assumed that new exception structures should try to extend the 
exn:fail structure, but every so often, I see error structures that extend 
the base 'exn' type.

For example, the error type in the htdp teachpacks 
(collects/htdp/error.ss) is defined as:

     (define-struct (tp-exn exn) ())

I expected this as:

     (define-struct (tp-exn exn:fail) ())

and was a little surprised to see otherwise.  Is there a reason for 
preferring one vs the other?

Posted on the users mailing list.