Mail Archives: djgpp/2000/10/20/11:59:23
Try this:
#include <iostream.h>
void PrList (int stopval)
{ int x = 1;
while (1)
{ if (x >= stopval) throw "Out of bounds";
cout << x++ << endl;
}
}
int main (void)
{ try { PrList (10); }
catch (char *msg) { cout << "char* catched: " << msg << endl; }
catch (const char *msg) { cout << "const char* catched: " << msg << endl; }
return 0;
}
and You'll see the source of problem ...
Andris
On 20 Oct 2000, at 9:46, David Witbrodt wrote:
> Can anyone explain to me why PROG1 works, but PROG2 dies? (Both work
> fine with Visual C++.)
>
> // PROG1.CPP
> #include <iostream.h>
>
> void PrList (int stopval)
> { int x = 1;
> while (1)
> { if (x >= stopval) throw x;
> cout << x++ << endl;
> }
> }
>
> int main (void)
> { try { PrList (10); }
> catch (int n) { cout << "Exception at " << n << endl; }
> return 0;
> }
>
>
> // PROG2.CPP
> #include <iostream.h>
>
> void PrList (int stopval)
> { int x = 1;
> while (1)
> { if (x >= stopval) throw "Out of bounds";
> cout << x++ << endl;
> }
> }
>
> int main (void)
> { try { PrList (10); }
> catch (char *msg) { cout << msg << endl; }
> return 0;
> }
>
>
> Thanks,
> Dave W.
> --
> "... for if leisure and security were enjoyed by all alike, the great
> mass of human beings ... would learn to think for themselves; and when
> once they had done this, they would sooner or later realize that the
> privileged minority had no function, and they would sweep it away." -
> Emmanuel Goldstein
>
- Raw text -