Почему не возникает исключение OverflowException? - C#
Формулировка задачи:
Есть такой код:
Выдает с = -294967296 и спокойно идет дальше. Как так?
//max - 2147483647
int a = 2000000000;
int b = 2000000000;
int c = 0;
try
{
c = a + b;
}
catch (OverflowException)
{
System.Console.WriteLine("О, счастье! Программа работает нормально!");
}
System.Console.WriteLine("c = " + c);Решение задачи: «Почему не возникает исключение OverflowException?»
textual
Листинг программы
//max - 2147483647
int a = 2000000000;
int b = 2000000000;
int c = 0;
try
{
checked { c = a + b; }
}
catch (OverflowException)
{
System.Console.WriteLine("О, счастье! Программа работает нормально!");
}
System.Console.WriteLine("c = " + c);