logo
шпоры по ООП

69.Механизм обработки исключений.

Механизм обработки исключений в языке С++

Этот механизм очень похож на соответствующий механизм, существующий в Borland Delphi. Общий вид обработчика исключений следующий:

try

{<Операторы контролируемого блока.>}

catch (<Спецификация исключения 1.>)

{<Операторы 1-го обработчика исключений.>}

. . . .

catch (<Спецификация исключения N.>)

{< Операторы N-го обработчика исключений.>} ,

где спецификация исключения определяет тип исключения и может иметь один из трех видов:

<тип> <имя> - эта конструкция напоминает описание формального параметра в определении функции. Имя параметра используется в операторах обработки исключений. С его помощью передается информация из обрабатываемого исключения;

<тип> - этот вариант не предполагает использования значения исключения. Для обработчика важен только его тип;

… - в этом случае (многоточие) обработчик реагирует на любое исключение независимо от типа. Так как сравнение посланного исключения с типами обработчиков выполняется последовательно, то обработчик с многоточием в качестве спецификации нужно помещать только в конце списка обработчиков. В противном случае он "перехватит" все возникающие исключения.