Which exception

Frits van Bommel fvbommel at REMwOVExCAPSs.nl
Sun Oct 29 17:34:04 PST 2006


Tom wrote:
> Hey,
> 
> lets say I have something like the following:
> 
> try {
>     // Code that throws some exception I don't know of.
> } catch (Exception ex) {
>     writefln(ex.classinfo.name); // works but it's not what I need
> }
> 
> Is there some way to get the name of the class 'ex' is instance of (the 
> derived class and not the base class)?

I'm sorry, but what *is* it that you need if not the above?

     import std.stdio;

     class DerivedException : Exception { this() { super(""); } }

     void main() {
         try {
             // Code that throws some exception.
             throw new DerivedException;
         } catch (Exception ex) {
             writefln(ex.classinfo.name); // writes "DerivedException"
         }
     }

The above code writes "DerivedException" to stdout, which is the name of 
the most derived class ex is an instance of.

Am I missing something?



More information about the Digitalmars-d mailing list