我的程序当除数输入为0的时候输出的结果为“无穷大”,并不能执行我catch (DivideByZeroException)语句下面的异常,请问是为什么呢?应当怎么修改呢?谢谢了!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Exc
{
class Program
{
static void Main(string[] args)
{
float result = 0;
try
{
float dividend = float.Parse(Console.ReadLine());
float divider=float.Parse(Console.ReadLine());
result=dividend/divider;
}
catch (DivideByZeroException)
{
Console.WriteLine("除数不能为零");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine(result.ToString()); }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Exc
{
class Program
{
static void Main(string[] args)
{
float result = 0;
try
{
float dividend = float.Parse(Console.ReadLine());
float divider=float.Parse(Console.ReadLine());
result=dividend/divider;
}
catch (DivideByZeroException)
{
Console.WriteLine("除数不能为零");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine(result.ToString()); }
}
}
自己判断除数吧。
{
float result = 0;
try
{
int dividend = int.Parse(Console.ReadLine());
int divider=int.Parse(Console.ReadLine());
result=dividend/divider; ---------------------------------
MSDN:
DivideByZeroException
试图用零除整数值或十进制数值时引发的异常。//注意是十进制整数
int i = 5f;
int j = 0/ (i-5);
Console.WriteLine(j);catch(DivideByZeroException e)
{
System.Console.WriteLine("零不能作为除数!异常值为:\n{0}",e);
}
catch(Exception e)
{
System.Console.WriteLine("并非\''零作为除数引发的异常\"!异常值为:\n{0}",e);
}