CSharp学习笔记之七 异常处理

异常处理的概述:
在C#编程中,我们可以通过异常处理语句对异常进行处理。我们经常使用到的异常处理语句有throw语句、try…catch语句和try…catch…finally语句。

异常处理的方法:
在异常处理中常用throw来进行处理的异常的。其实对于throw来说,他的主要功能就是用来引发一个异常的,然后呢通过cath来捕获异常。也可以通过throw再次捕捉一个异常,因为在好的编码中会在再次引发的异常中添加更多的调试信息,这样以便用来进行更加的深入的调试工作。
下面给出一个引发异常额例子:
namespace throw语句的应用演示
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("throw语句的应用---除法运算");
            Console.Write("输入第一个数:");
            double var1 = double.Parse(Console.ReadLine());
            Console.Write("输入第二个数:");
            double var2 = double.Parse(Console.ReadLine());
            Test te = new Test();
            te.Division(var1,var2);
            Console.ReadLine();
        }
    }
    class Test
    {
        public void Division(double var1, double var2)
        {
            if (var2==0)
            {
                //抛出System.DivideByZeroException异常
                throw new System.DivideByZeroException();
            }
            else
            {
                Console.WriteLine(var1+"/"+var2+"={0}", var1 / var2);
            }
        }
    }
}
然后就是try...cath语句,在大多数情况先,将可能引发异常的数据放在try中,将异常处理的数据放在catch中这样通过这样的方式来进行异常的捕获。
如下所示
try
{
// 可能引发异常的代码
}
catch(异常类名  异常变量名)
{
// 用于处理异常的代码
}
还是要通过一个例子来演示异常的捕获情况。
namespace try_catch使用演示
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("try_catch使用演示");
                Console.Write("请输入第一个数:");
                string var1 = Console.ReadLine();
                int var2 = Convert.ToInt32(var1);
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine("捕获到的异常:{0}", ex);
                Console.ReadLine();
            }
        }
    }
}


还有的方法就是通过try...catch...finally来使用异常的。通过异常的,具体的使用过过程如下所示
try
{
// 可能出现异常的语句
}
catch(异常类名 变量名)
{
// 处理异常的语句
}
……
finally

{
// 总是执行的语句
}

自定义异常:
对于c#来说,用户可以通过自己来进行自定义异常的。NET框架提供从根基类Exception派生的异常类层次结构,这些类中的每一个都定义了一个特定的异常,因此在很多情况下只需捕获该异常。如果有特殊需要,我们也可以通过从ApplicationException类派生来创建自己的异常类。创建自己的异常类时,好的编码做法是在用户自定义的异常类名的结尾加上“Exception”这个词。
 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章