Re: Exception handling
On 27 Apr., 00:29, howa <howac...@gmail.com> wrote:
I have simple code which provide exception handling functions, e.g.
//---------------------------------
try {
int j = 2;
int k = 0;
double t = j / k;
Division by zero leads to undefined behavior, see
[expr.mul]/4:
"[..] If the second operand of / or % is zero the behavior
is undefined;[..]
} catch (...) {
cout<<"Error!";
}
//---------------------------------
VS.net told me "unhandled exception".
What is VS.net? (Just as a remark: For a reasonable
error description, you should at least specify the
rough compiler specification, e.g. Visual Studio 2005
or such).
But isn't catch (...) will cover as the default handler?
An exception handler with ... will catch any exception
raised inside it's try block. There is no exception
raised in your code example. Note that a so-called
"floating-point exception", which might be raised
here, does not belong to the C++ exceptions. The only
portable way to handle floating-point exceptions in
upcoming C++ (which will support the C99 floating-point
environment functions) is to mask these exceptions
before raising them and later use e.g. fetestexcept
to check which 'exception' has been raised.
HTH & Greetings from Bremen,
Daniel Kr?gler
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]