C#学习笔记(5)

这次来简单介绍一下C#中的异常处理以及正则表达式

C#中的异常处理和Java中的基本相同 ,在C#中系统定义了一个专门用于异常处理的类Exception类

一般我们经常使用try,catch和throw三个关键字来进行异常处理

throw关键字一般用于抛出异常,抛出的异常可以被catch关键字捕获,根据抛出的异常的种类不同用户可以进行相关的处理

try,catch一般成对使用一般格式如下

            try
            {
          ...
            }
            catch(Exception e)
            {
          ...  
            }

当用户运行try结构中的语句的时候如果出现异常,catch会尝试与括号中的异常类型进行匹配,如果匹配成功就进行相应的处理

一个try的结构可以对应多个catch结构,方便对不同的异常进行处理

如果几个catch结构中的异常有派生的关系,应该优先处理派生最深的异常,最后处理一般性的异常,这样做的好处就可以对特定的异常进行特定的处理并且防范一般性的异常的发生。

举一个简单的例子

class Program
    {
        static void Main(string[] args)
        {string name = Console.ReadLine();
            try
            {
                FileStream input = File.OpenRead(name);
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("未找到文件,请重新输入!");
            }
            catch(ArgumentException)
            {
                Console.WriteLine("文件名不能为空!");
            }
        }
    }

 当我们尝试打开一个文件的时候我们可能遇到两种情况,一种是当我们访问相应的文件路径的时候没有办法找到文件,这时系统会抛出一个FileNotFoundException的异常,另外一种情况比较少见,那就是文件名为空,这个时候系统会抛出一个ArgumentException的异常,我们对应相应的异常进行相应的异常处理即可。

有一种简便的截获异常并且提示用户的方法

            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }

 当我们截获一个异常的时候直接返回给用户系统设定好的异常信息,可以帮助用户清晰的了解异常

原文地址:https://www.cnblogs.com/ljc825/p/4429603.html