The Right Approach to Exceptions
Daniel Murphy
yebblies at nospamgmail.com
Sat Feb 18 21:59:49 PST 2012
"Nick Sabalausky" <a at a.a> wrote in message
news:jhprac$2aj$1 at digitalmars.com...
> The only problem I've ever had with them is that there's no templated
> catch blocks, so you can't handle two different exceptions with the same
> code without violating DRY or worse: catching the common base type and
> rethrowing when it's not what you wanted. Toss in templated catch blocks,
> and I've have no problem at all.
>
Do you mean something like this?
try
{
something();
}
catch (e : ThisException, ThatException, OtherException)
{
static assert(is(typeof(e) == CommonType!(ThisException, ThatException,
OtherException));
}
catch (Exception e)
{
// Every other type derived from Exception
}
Or do you think the full power to be able to template catch blocks as if
they were functions would be useful for something?
More information about the Digitalmars-d
mailing list