If internally all floats are treated as double, then if I throw exception in
the below code as double(which is 100.0) and catch as float why the program
terminates, rather the catch of float should also be elevated to double type in
the absence of explicit catch of double.
try{
cout<<"Inside the try block"<<endl;
throw 100.0;
cout<<"This will not be executed\n";
}catch(float x)
{
cout<<"Inside the catch block"<<endl;
cout<<"Exception is "<<x<<endl;
}
//The program would terminate rather than catching exception
--
Summary: Double exception not caught if only float is present in
exception
Product: gcc
Version: 4.4.1
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: korikov at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43612