C# try-catch异常捕获与throw自定义异常 例子
2021-01-06 20:29
标签:inf 自己的 子类 没有 控制台 异常 code 语句 自定义 题目:编写控制台程序,输入两个整数将其整除,并使用 try-catch 语句捕获除数为 0 的异常, 并输出异常消息 代码1: 会发现没有抛出异常,而是输出了无穷大--a,b是float的原因(语法) 代码2: 别的不变,仅将a,b改为int型(当然显式类型转换也要改),重新编译运行: 成功抛出异常 那新的问题又出现了:如果我既要抛出异常,又要是用除法算出小数点的话该怎么做呢?---自定义异常 自定义异常类必须要继承 Exception 类。 class 异常类名 :Exception { } 抛出自己的异常,语句如下 代码3: 参考资料:http://c.biancheng.net/view/2987.html C# try-catch异常捕获与throw自定义异常 例子 标签:inf 自己的 子类 没有 控制台 异常 code 语句 自定义 原文地址:https://www.cnblogs.com/SophieWang-cmu/p/13159497.html 1 static void Main(string[] args)
2 {
3 Console.Write("请输入两个整数,使用\‘,\‘隔开: ");
4 string[] num = Console.ReadLine().Split(",");
5 float a = float.Parse(num[0]);
6 float b = float.Parse(num[1]);//这里也要有一个显示类型转换,如果要得到数学商的话就转换成浮点型
7
8 try
9 {
10 float quotient = a / b;
11 Console.WriteLine(quotient);
12 }
13 catch(Exception ee)
14 {
15 Console.WriteLine(ee);
16 }
17 Console.ReadKey();
18 }
1 Console.Write("请输入两个整数,使用\‘,\‘隔开: ");
2 string[] num = Console.ReadLine().Split(",");
3 int a = int.Parse(num[0]);
4 int b = int.Parse(num[1]);//这里也要有一个显示类型转换,如果要得到数学商的话就转换成浮点型
5
6 try
7 {
8 int quotient = a / b;
9 Console.WriteLine(quotient);
10 }
11 catch (Exception ee)
12 {
13 Console.WriteLine(ee);
14 }
15 Console.ReadKey();
声明异常的语句如下。throw( 异常类名 );
class MyException :Exception
{
public MyException(string message) : base(message)
{
}
}
1 namespace 自定义异常_throw抛出
2 {
3 class MyException : Exception //子类MyException继承自父类Exception
4 {
5 public MyException(string message) : base(message)
6 {
7 }
8 }
9 class Program
10 {
11 static void Main(string[] args)
12 {
13 Console.Write("请输入两个整数,使用\‘,\‘隔开: ");
14 string[] num = Console.ReadLine().Split(",");
15 float a = float.Parse(num[0]);
16 float b = float.Parse(num[1]);//这里也要有一个显示类型转换,如果要得到数学商的话就转换成浮点型
17
18 try
19 {
20 if(b==0)
21 {
22 throw new MyException("除数不能为0!");
23 }
24 float quotient = a / b;
25 Console.WriteLine(quotient);
26 }
27 catch (Exception ex)
28 {
29 Console.WriteLine(ex);
30 }
31 Console.ReadKey();
32 }
33 }
34 }
文章标题:C# try-catch异常捕获与throw自定义异常 例子
文章链接:http://soscw.com/index.php/essay/40553.html