Этот ответ не является всеобъемлющим.Я просто попытаюсь показать несколько примеров.
Ведение журнала
Использование исключений может быть очень полезно для регистрации ошибок.Возможно, вы даже захотите повторно сгенерировать исключение, когда закончите регистрацию.Знание того, какие исключения генерируются, когда они генерируются, как часто и т. Д., Может быть очень полезным для отладки или улучшения базы кода.
Пример:
try
{
DoThingThatFails();
}
catch (ExpectedException ex)
{
LogException(ex, DateTime.Now);
//rethrow the exception
throw;
}
Создание библиотеки
Это может быть внутренняя или публичная библиотека.Исключения являются отличным способом обработки некорректных или неподдерживаемых операций.Скажем, у вас есть класс, который должен взять строку.Для этого абсолютно необходимо, чтобы ему была передана правильная ненулевая строка.Если пользователь библиотеки (может быть вы или кто-то еще) передает недопустимое значение, например null
, вы можете выдать исключение.
Пример:
class Example
{
//name must be a valid, non-empty string
public Example(string name)
{
if (String.IsNullOrEmpty(name))
throw new InvalidOperationException("The name parameter was null or empty");
//Initialize your new object
}
}