C#异常机制

|   版权声明:本文为博主原创文章,未经博主允许不得转载。

1.  异常处理模板

 1 Try{
 2 
 3          有可能出现的错误代码;
 5       ......
 6 }
 7 
 8 catch{
 9 
10          如果try中的代码出现异常,则进入catch中;
12       ......
13 }

2. try-catch执行过程:

  首先,如果try中的代码没有出错,则程序正常运行try中的内容后,不会执行catch中的内容。但是如果try中的代码一旦出错,程序立即跳入

catch中去执行代码,则try中的出错代码的后面的代码将不会在继续执行。

3. 源码示例

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace Test6_TryCatch的使用
 8 {
 9     /// <summary>
10     /// 让学生输入其姓名,语文、数学、英语成绩,编程求其总分和平均分:并在屏幕上显示;××你的总分为
11     /// ××分,平均分为××分。突出异常机制的处理
12     /// </summary>
13     class Program
14     {
15         static void Main(string[] args)
16         {
17             string name;
18             int chnises, math, english;
19             double totalScore, averageScore;
20 
21             try
22             {
23                 Console.WriteLine("请输入你的姓名:");
24                 name = Console.ReadLine();
25 
26                 Console.WriteLine("请输入语文成绩: ");
27                 chnises = Convert.ToInt32(Console.ReadLine());
28 
29                 Console.WriteLine("请输入数学成绩: ");
30                 math = Convert.ToInt32(Console.ReadLine());
31 
32                 Console.WriteLine("请输入英语成绩: ");
33                 english = Convert.ToInt32(Console.ReadLine());
34 
35                 totalScore = chnises + math + english;
36                 averageScore = totalScore / 3.0;
37 
38                 Console.WriteLine("{0}你的总分为{1}分,平均分为{2}分", name, totalScore, averageScore);
39                 Console.ReadKey();
40             }
41             catch
42             {
43                 Console.WriteLine("你输入的数据有误,请重新运行程序!");
44                 Console.ReadKey();
45             }
46         } 
47     }
48 }

运行截图:

           

            

注:

>>.try...catch...finally语句:

  try...catch...finally语句用法相当地灵活。

 1 try{
 2       //程序代码
 3 }
 4 //e是异常处理类Exception的实例对象,通过该类可以获取异常的详细信息。
 5 catch(Exception e)
 6 {
 7      //错误代码处理
 8 }
 9 finally{
10      //程序代码
11 }

  注意:每个try块后至少必须紧接一个catch块或finally语句块。无乱try块是否引发异常,相应的finally语句块都会被执行。事实上,即使在try

语句块中出现了break、continue、return语句,finally语句块也会被执行。

>>.throw语句

  throw语句用于将程序代码中的异常抛出,并让调用这个方法的程序进行捕捉和处理,这样就减少了将异常立即输出并显示的麻烦。

原文地址:https://www.cnblogs.com/geore/p/5792461.html