黑马程序员:初步接触try catch异常捕获机制

时间:2023-02-19 15:49:36

----------------------  ASP.Net+Android+IOS开发.Net培训、期待与您交流! ---------------------- 

       在学习的过程中,老师为了使讲解更加的深刻生动,简单的讲解了一下异常捕获机制的使用。下面是我对异常捕获机制的理解和自己写的一个使用异常保护机制的例子。

首先,异常 具有潜在危险的代码

比如在编写程序的过程中,遇到除法时,零是不可以做除数的但是如果你写了一个计算器用户是有可能把零放在除数位置的;在对用户输入的一段字符串进行处理时,用户未必会按照你定义的格式进行输入,这样就会给程序接下来的运行带来不便。所以为了改善这种情况就需要学会应用一些简单的异常捕获机制。

C#的异常处理所用到关键字 :

try 用于检查发生的异常,并帮助发送任何可能的异常。  
catch 以控制权更大的方式处理错误,可以有多个catch子句。  
finally 无论是否引发了异常,finally的代码块都将被执行。  
throw 用于引发异常,可引发预定义异常和自定义异常。

C#异常处理的格式:

try  
{  
程序代码块;  
}  
catch(Exception e)  
{  
异常处理代码块;  
}  
finally  
{  
无论是否发生异常,均要执行的代码块;  
}  


    然后不好意思的是我只学到简单的异常处理,所以下面的例子用到的关键字只有try和catch,然后其实finally自己都没用到过。

   好了,下面是我写的一个关于除数不能为零的异常捕获:

namespace 异常捕获机制

{
    class Program
    {
        public static int mul(int first, int second)//定义一个mul函数用来计算两个数的除法
        {
            
            Console.WriteLine("我上二年级了,我可以做除法");
 
            return first/second;//输出计算结果,注意这里没有对除数不能为零的限制,所以当second为零时运行到这里是会出现异常的。
        }
        static void Main(string[] args)
        {
            int Mul;
            try//用try捕获异常
            {
                Mul = mul(56, 63);
                Console.WriteLine("56与63相除得{0}", Mul);
                Mul = mul(565, 0);//当除数为零时,执行调用函数时会发生异常所以这行代码和在try中这行一下的代码是不会执行的
                Console.WriteLine("老师说这样0不能放那里。。。可是貌似我在这里喊你听不到。。");//这行代码不会打印出来
            }
            catch//这里是你自定义对异常的判断
            {
                Console.WriteLine("老师说0不能放那里。。。");
            }
            Console.ReadKey();
        }
        
        
    }

}

然后,这里是运行结果:

黑马程序员:初步接触try catch异常捕获机制

黑马程序员:初步接触try catch异常捕获机制

----------------------  ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------