К числу самых важных подклассовExceptionотносится классSystemException.Именно от этого класса являются производными все исключения, генерируемые исполняющей системой C# (т.е. системой CLR). КлассSystemExceptionничего не добавляет к классуException,а просто определяет вершину иерархии стандартных исключений.
В среде .NET Framework определено несколько встроенных исключений, являющихся производными от классаSystemException.Например, при попытке выполнить деление на нуль генерируется исключениеDivideByZeroException.Как будет показано далее в этой главе, в C# можно создавать собственные классы исключений, производные от классаException.
Основы обработки исключительных ситуаций
Обработка исключительных ситуаций в C# организуется с помощью четырех ключевых слов:try, catch, throwиfinally.Они образуют взаимосвязанную подсистему, в которой применение одного из ключевых слов подразумевает применение другого. На протяжении всей этой главы назначение и применение каждого из упомянутых выше ключевых слов будет рассмотрено во всех подробностях. Но прежде необходимо дать общее представление о роли каждого из них в обработке исключительных ситуаций. Поэтому ниже кратко описан принцип их действия.
Операторы программы, которые требуется контролировать на появление исключений, заключаются в блокtry.Если внутри блокаtryвозникает исключительная ситуация,
Применение пары ключевых слов try и catch
Основу обработки исключительных ситуаций в C# составляет пара ключевых словtryиcatch.Эти ключевые слова действуют совместно и не могут быть использованы порознь. Ниже приведена общая форма определения блоковtry/catchдля обработки исключительных ситуаций:
try {
// Блок кода, проверяемый на наличие ошибок.
}catch
// Обработчик исключения типа
catch (
// Обработчик исключения типа