www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

c++ - can't catch base of subclass.. must throw base

↑ ↓ ← Richard <fractal clark.net> writes:
mmmm..

Ok, after reviewing all the c++ messages avail in web interface, I can see that
you guys are busy in all caps.

I have downloaded beta compiler, and if you do the equivalent of:

class Exception { };
class MyError : public Exception { };

try {
throw MyError( );
} catch (Exception& e) {
; // we never get here!!
}

You will find that you must actually throw an object of type Exception to find
your way to the catch.

Richard
Oct 24 2002
→ "Walter" <walter digitalmars.com> writes:
I'll check it out. Thanks. -Walter
Oct 24 2002
Christof Meerwald <cmeerw web.de> writes:
On Thu, 24 Oct 2002 23:32:59 +0000 (UTC), Richard wrote:
 I have downloaded beta compiler, and if you do the equivalent of:
 class Exception { };
 class MyError : public Exception { };
 
 try {
 throw MyError( );
 } catch (Exception& e) {
 ; // we never get here!!
 }

Hmm, but it works for me: #include <stdio.h> class Exception { }; class MyError : public Exception { }; int main() { try { throw MyError( ); } catch (Exception& e) { printf("caught Exception\n"); } } Prints "caught Exception" as expected... bye, Christof -- http://cmeerw.org JID: cmeerw jabber.at mailto cmeerw at web.de ...and what have you contributed to the Net?
Oct 25 2002
↑ ↓ → Richard <fractal clark.net> writes:
In article <apbllm$313a$1 digitaldaemon.com>, Christof Meerwald says...

Hmm, but it works for me:

Must have been a configuration thing on my end with stlport.. Works for me too. Sorry. Richard
Oct 27 2002