Files
freeCodeCamp/guide/chinese/csharp/exceptions/index.md
2018-10-16 21:32:40 +05:30

66 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Exceptions
localeTitle: 例外
---
# 例外
例外是程序运行时发生的意外错误,例如尝试访问不存在的文件。如果不处理,它将停止程序。
## 例
如果我们尝试读取不存在的文件的文本:
```
using System.IO;
string content = File.ReadAllText(@"C:\DoesNotExist.txt");
```
将引发`FileNotFoundException`
其他一些常见例外:
* `IndexOutofRangeException` :尝试访问具有无效索引的数组。
* `NullReferenceException` :尝试使用未分配的引用变量。
* `DivideByZeroException` 尝试除以0。
## 最佳实践
### 使用try / catch / finally块
```
try
{
var client = new WebClient();
var resultData = client.DownloadString("http://github.com");
}
catch (Exception ex)
{
//code for handling exceptions
}
finally
{
//this code is always executed, does not matter if an exception is thrown or not
}
```
### 处理条件可能存在的例外情况
代替
```
try
{
conn.Close();
}
catch (Exception ex)
{
//code for handling exceptions.
}
```
试试这个
```
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
```