算术运算溢出的异常问题
用C#语言编写一个计算器程序,要求在程序中能够捕获到算术运算溢出的异常。[/quote]我用两个int才会有异常,float或double就不会抛出异常?请问怎么办?\我是这样写的
static void Main(string[] args)
{
Console.Write("请输入一个数a=");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入一个数b=");
int b = Convert.ToInt32(Console.ReadLine());
//double b = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入一个运算符:");
string str = Console.ReadLine();
try
{
switch (str)
{
case "+": Console.WriteLine("a+b={0}", a + b); break;
case "-": Console.WriteLine("a+b={0}", a - b); break;
case "*": Console.WriteLine("a+b={0}", a * b); break;
case "/": Console.WriteLine("a+b={0}", a / b); break;
default: Console.WriteLine("谢谢使用! "); break;
}
}
catch (Exception ex)
{
switch (str)
{
case "+": Console.WriteLine("a+b={0}", a + b); break;
case "-": Console.WriteLine("a+b={0}", a - b); break;
case "*": Console.WriteLine("a+b={0}", a * b); break;
case "/": Console.WriteLine("a+b={0}", a / b); break;
default: Console.WriteLine("谢谢使用! "); break;
}
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
[ 本帖最后由 宇智波曌 于 2011-11-19 20:53 编辑 ]