freeCodeCamp/guide/russian/csharp/exceptions/index.md

66 lines
1.8 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Exceptions
localeTitle: Исключения
---
# Исключения
Исключением является непредвиденная ошибка, возникающая во время работы программы, например попытка получить доступ к файлу, который не существует. Он остановит программу, если не будет обработан.
## пример
Если мы попытаемся прочитать текст файла, который не существует:
```
using System.IO;
string content = File.ReadAllText(@"C:\DoesNotExist.txt");
```
Будет `FileNotFoundException` .
Некоторые другие общие исключения:
* `IndexOutofRangeException` : Попытка получить доступ к массиву с недопустимым индексом.
* `NullReferenceException` : Попытка использовать неназначенную ссылочную переменную.
* `DivideByZeroException` : Попытка деления на 0.
## Лучшие практики
### Используйте try / catch / finally Blocks
```
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();
}
```