C#错误和异常的处理
2017-07-02 17:14
197 查看
错误的出现并不总是编写应用程序人的原因,有时应程序会因为应用程序的最终用户引发或运行代码的环境而发生错误。无论如何,我们都应预测应用程序中出现的错误,并相应的进行编码。C#处理错误的机制可以为每种错误提供自定义的处理方法,并把识别错误的代码于处理错误的代码分离开来。
一、异常类
在C#中,当出现某个特殊的异常错误条件时,就会创建(或抛出)一个异常对象。这个对象包含有助于跟踪问题的信息。.NET提供了许多预定义的异常类,我们也可以创建自己的异常类。
二、捕获异常
为了在C#代码中处理可能的错误情况,一般把程序中的相关部分分成三种不同类型的代码块:
Try块包含的代码组成了程序的正常操作部分,但这部分可能遇到某些严重的错误
Catch快包含的代码处理各种错误情况,这些错误是执行try块中的代码遇到的,这个块还可以用于记录错误。
Finally块包含的代码清理资源或执行通常要在try块或catch块末尾执行的其他操作。无论是否抛出异常,都会执行finally块。Finally块完全可选的,如果不需要清理代码,就不需要包含次块。
三、System.Exception属性
在System.Exception异常类中有许多其他属性:
如果编写一个可执行程序,就应捕获尽可能多的异常,并以合理的方式处理它们。
一、异常类
在C#中,当出现某个特殊的异常错误条件时,就会创建(或抛出)一个异常对象。这个对象包含有助于跟踪问题的信息。.NET提供了许多预定义的异常类,我们也可以创建自己的异常类。
二、捕获异常
为了在C#代码中处理可能的错误情况,一般把程序中的相关部分分成三种不同类型的代码块:
Try块包含的代码组成了程序的正常操作部分,但这部分可能遇到某些严重的错误
Catch快包含的代码处理各种错误情况,这些错误是执行try块中的代码遇到的,这个块还可以用于记录错误。
Finally块包含的代码清理资源或执行通常要在try块或catch块末尾执行的其他操作。无论是否抛出异常,都会执行finally块。Finally块完全可选的,如果不需要清理代码,就不需要包含次块。
三、System.Exception属性
在System.Exception异常类中有许多其他属性:
属性 | 说明 |
Data | 这个属性可以给异常添加键/值语句,以提供关于异常的额外信息 |
HelpLink | 链接到一个帮助文件上,以提供关于该异常的更多的信息 |
InnerException | 如果此异常是在catch块中抛出,它就会包含把代码发送到catch块中的异常对象 |
Message | 描述错误情况的文本 |
Source | 导致异常的应用程序名或对象名 |
StackTrace | 栈上方法调用的详细信息,它有助于跟踪抛出异常的方法 |
TargetSite | 描述抛出异常的方法的.NET反射对象 |
相关文章推荐
- C#学习使用try-catch-finally错误处理表达式(续)--定义自己的异常消息类
- 读书笔记_C#技术内幕_第十章(处理异常和错误)
- 小议C#错误调试和异常处理
- C#中对错误(异常)的处理
- C# 如何处理抛出的异常,或者已知的错误
- 从C#到Objective-C,循序渐进学习苹果开发(4)--代码块(block)和错误异常处理的理解
- C#操作串口,带异常处理,解决端口占用时打开串口出现异常错误,串口关闭时发送数据报错
- C#操作串口,带异常处理,解决端口占用时打开串口出现异常错误,串口关闭时发送数据报错
- C# 如何处理抛出的异常,或者已知的错误
- 代码阅读总结之Fitch and Mather 7.0(asp.net发生异常或错误时错误提示页面的处理方法)
- c#中构建异常处理
- C#的异常处理
- C#.Net开发基于Oracle数据库系统常见异常处理
- WCF 中的异常(错误)处理和编程规范
- C# 异常处理
- 三种错误处理的方法——从返回值到异常处理
- C#页面统一错误处理
- 一个处理数据库异常的类,按照错误码弹出提示信息
- 一个处理数据库异常的类,按照错误码弹出提示信息
- C++ Coding Standards:错误处理和异常