C#中的异常处理

异常:是当程序发生错误时产生的一种信号,在.NET中广泛使用。

异常有除数为0,数组下标出界,空的对象引用,文件不存在等。

每种异常类型都是一个类,分两大类:System.SystemException 和System.ApplicationException

.NET中异常处理方式

1.异常被对象所表现而不是错误代码

2.异常的产生是通过throwing一个该异常的对象实现的

3.异常的捕获是通过catch该异常的对象

4.命名上可以读出是哪类异常:ArithmeticException,DivideByZeroException,etc.

捕获异常try-catch

当代码段有可能发生异常的时候,我们应该把代码段放在try中,捕获到异常后的处理方法放置到catch中

3

一个try可以有多个catch方法,但种类要不一样,为每个可能的Exception制定解决方法。如

FormatException   类型错误

OverflowException    超过范围错误

Exception ex  其他错误

4

异常处理的系统流程

当程序一个异常的时候,它会自动抛出异常,此时.NET进入“异常处理模式”

暗示:如果你不想让程序被错误所终止,你要在适当地方使用try-catch;如果你想让异常处理继续,你要在catch子句中写出一些具体的方法,空的catch段相当于给异常放行。

异常

在执行完catch子句后,程序将继续执行,除非在catch子句中有return,throw 或exit。

5

嵌套的try-catch

6

异常捕获到顺序

必须正确排列捕获异常的catch子句

    范围小的Exception 放在前面的catch子句

     如果Exception之间有继承关系,把子类放在前面的catch子句中,把父类放在后面的catch子句中。

7

try-catch-finally:确保一些收尾工作。(无论进不进catch,都会进入finally)

1

抛出异常  Throw Exceptions

类中可以抛出异常,不返回错误代码,不输出错误些信息;抛出特定的类型。

8

设计自己的异常

创建独特的异常,使它适合于特定的应用程序

9

跟踪Tracing

跟踪==运行时输出信息

当运行出错时,我们有信息可以参考,是数据记录器。

思路:程序中输出要输出的信息,在启动时可选:Enable/disable

配置跟踪

最常用的方法是在.NET config中配置

例:

1.如果应用程序是App.exe,那么config文件就是App.exe.config

2.在appSettings区中添加(key,value)值对

3.放置.config文件于.exe的目录下

2

在VS中创建.config文件

通常把.config放置在.EXE同目录下   binDebug and binRelease

不过,如果你这么做,Visual Studio 将删除它!

所以,通过项目来建立app.config

Project menu,Add New Item…,Application Config File

edit.config file appropriately

VS will copy to binDebug & rename

跟踪执行

跟踪执行

原文地址:https://www.cnblogs.com/HuXiaoxia/p/3410429.html