Exception not catching if two numbers are overflowing.
The output only printing the wrong number which is negative.
Test operator*(const Test &object) const
{
try
{
return Test(value * object.value);
}
catch (std::overflow_error &e)
{
cout << e.what() << endl;
}
catch (std::underflow_error &e)
{
cout << e.what() << endl;
}
}
In main:
Test t1(533222220);
Test t2(300002222);
Test t = t1 * t2; // does not throw exception but t1 * t2 -1416076888