На этом шаге мы рассмотрим общие приемы использования указанной конструкции.
Мы уже сталкивались с конструкцией try-catch. В самом простом варианте эта конструкция используется следующим образом. Программный код, при выполнении которого может возникнуть ошибка, заключается в отдельный блок (выделяется фигурными скобками), помеченный ключевым словом try. Данный блок будем называть try-блоком, а содержащийся в нем код - контролируемым кодом. После try-блока следует catch-блок. В этом catch-блоке размещается программный код, предназначенный для обработки исключений. Общий шаблон использования конструкции try-catch такой:
try { // Контролируемый код } catch { // Код для обработки исключений }
Если при выполнении контролируемого программного кода в try-блоке ошибок не было, то catch-блок игнорируется. По завершении выполнения кода из try-блока начинают выполняться команды после конструкции try-catch. Если же при выполнении команд в try-блоке возникла ошибка, то выполнение команд в try-блоке прекращается и начинают выполняться команды в catch-блоке. По завершении выполнения catch-блока начинают выполняться команды после конструкции try-catch. Напомним, что это наиболее простая схема перехвата и обработки исключений. Перехватываются исключения всех типов (все виды ошибок, которые, в принципе, можно перехватить и обработать), а объект исключения, который создается при возникновении ошибки, никак не используется.
Если мы хотим использовать при обработке ошибки объект исключения, то необходимо немного видоизменить способ описания catch-блока. Правда изменения минимальны: после ключевого слова catch в круглых скобках указывается имя класса, определяющего тип перехватываемых ошибок, а также формальное обозначение для объекта исключения. То есть используется следующий шаблон описания catch-блока:
catch (клаcc объект){ // Код для обработки исключений }
Если в качестве типа для объекта исключения указать класс Exception, то в catch-блоке будут перехватываться исключения всех типов, и при этом у нас будет возможность использовать объект исключения.
На следующем шаге мы закончим изучение этого вопроса.