On Friday, 8 March 2013 at 20:46:42 UTC, Jonathan M Davis wrote:
On Friday, March 08, 2013 11:56:12 H. S. Teoh wrote:
On Fri, Mar 08, 2013 at 08:52:21PM +0100, Rob T wrote:
> On Friday, 8 March 2013 at 06:05:02 UTC, Maxim Fomin wrote:
> > catch (Exception e) {
> >
> > if (typeid(e) == typeid(myException1))
> >
> > throw e; // may be downcasted, if necessary
> >
> > // to work with specific fields
> >
> > }
>
> Isn't it better to check identity in this way?
>
> if (typeid(e) is typeid(myException1))
[...]
Couldn't you just do this?
auto myExc = cast(myException1)e;
if (myExc !is null) {
// do stuff with myExc
}
?
Or am I missing the point here?
That's the way that it's supposed to be done. I don't know why
anyone would
mess around with typeid that.
- Jonathan M Davis
So this is more efficient or has some other advantages than using
typeid?
if ( cast(myException1)e !is null )
{
// do stuff with myException1
}
else
if ( cast(myException2)e !is null )
{
// do stuff with myException2
}
else
if ( cast ...
--rt