标题所示问题出自《C#从入门到精通-第二版》
第七章 异常处理与程序调试
实战练习操作题
百度相关内容发现一些PPT的题目有提及,但没有具体答案,因为基础较差,被这个简单的东西占用了一些时间
public class DivZero : Exception //定义一个异常类
{
public DivZero(string str) : base(str) //继承基类的有参构造函数
{ }
}
class Program
{
static void Main(string[] args)
{
try
{
int x = int.Parse(Console.ReadLine()); //输入除数X
if (x == 0) //如果X为0,抛出异常,程序结束
{
throw new DivZero("除数不能为0");
}
int y = 10;
int z = x / y;
Console.WriteLine("{0}/{1}={2}",x,y,z);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.ReadKey();
}
}
}
主要时间浪费在,输入X之后,没有立即抛出异常,而是习惯性的在“ int z = x / y;”之后再抛出异常
所以程序异常直接通过catch执行了,没有达到题目要求。
定义一个异常类DivZero,假如除数为零,则显示“除数不能为0”的异常信息。
原文:https://www.cnblogs.com/-young/p/12074953.html