On Friday, 8 March 2013 at 19:58:10 UTC, 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?


T

I didn't know that casting a base class to a derived class that the base does not refer to will resolve to a null. Nice to know.

I suppose that's another way to do the same thing which may be more convenient depending the situation.

Thanks for suggesting it.

--rt

Reply via email to