Rethrow an exception like in C++?
Jonathan M Davis
jmdavisProg at gmx.com
Fri Mar 8 12:46:30 PST 2013
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
More information about the Digitalmars-d-learn
mailing list