c#错误和异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#错误和异常相关的知识,希望对你有一定的参考价值。

<1>有两个很重要的异常类它们派生自System.Exception类

System.SystemException:该类通常由.net运行库抛出的异常,或者有着非常一般的本质并且可以由几乎所有的应用程序抛出的异常,System.SystemException异常的子类包括表示致命错误和非致命错误的异常;

System.ApplicationException:这个类非常重要,因为它是第三方定义的异常基类,如果自己定义的任何异常覆盖了应用程序独有的错误情况,就应该使它们直接或间接派生自System.ApplicationException类;

<2>try...catch...finally执行步骤:

1.执行的程序流入try块;

2.如果在try块没有发生异常,在块中就会正常执行操作。当程序流到达try块的末尾后,如果存在一个finally块,程序流就会自动进入到finally块,但是如果在try块中检测到一个错误,程序流就会跳转到catch

3.在catch块中处理错误;

4.在catch块执行完后,如果存在一个finally块,程序流就会自动进入到finally块;

5.执行finally块;

注意:可以省略finally块;可以提供任意多个catch块处理不同类型的错误,但不应该包含过多的catch块,以防降低应用程序的性能

<3>注意

1.发生异常后,try块中,异常代码后的代码不会执行

2.finally块中的代码,无论是否发生异常都会执行,会在try或catch中的return之前执行

3.finally块中不能写return语句

4.try块中有return语句,finally也会执行,并且会在return之前执行;

5.即便没有catch,finally中的代码也会执行,但finally之后的代码不会执行;

以上是关于c#错误和异常的主要内容,如果未能解决你的问题,请参考以下文章

从 C# 调用 C++ DLib 导致错误分配异常

在 C# 中使用具有正确私钥和公钥对的 RSA 解密时出现错误数据异常

C#自定义异常就这么简单

无效操作异常,C# XML 错误

来自回调 c# 的未处理异常错误

C# 记录错误日志