|
Archives
D Programming
DD.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++ - Exception specifications
Hi,
#include <iostream>
void test() throw (int);
int main()
{
test();
std::cout << "Completed successfully" << std::endl;
}
void test() throw (int)
{
try
{
throw 'a';
}
catch (char const&)
{
std::cout << "Caught char" << std::endl;
}
}
When built with DM and run, the test function never completes.
The throw (int) exception specification should prevent any exception of
type different from int to be thrown out of the function, but it appears
DM does not allow throwing of such exceptions altogether (even though
they are handled within the function and not thrown out).
Regards,
Dimitri
Mar 06 2004
|