The Right Approach to Exceptions

Nick Sabalausky a at a.a
Sun Feb 19 11:27:00 PST 2012


"Andrei Alexandrescu" <SeeWebsiteForEmail at erdani.org> wrote in message 
news:jhr67g$2dup$4 at digitalmars.com...
>
> The Java7 syntax looks meaningful to me, too - you want to catch the union 
> type. A possibility that wouldn't change the language for us would be to 
> catch Algebraic!(Ex1, Ex2).
>

I'd argue that a templated catch block would be better so you wouldn't have 
to query what type it is in order to use it:

// With a little compler magic:
catch(TypeTuple!(Ex1, Ex2) e)
{
    writeln(e.msg); // Look ma, no querying!
}

// Mimicking D1-style template contraints:
catch(E : Ex1, Ex2)(E e)
{
    writeln(e.msg);
}





More information about the Digitalmars-d mailing list