Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Автоматическое определения кодировки текста
Категория: Текст и строки
Категория: Текст и строки
Получение выделенного текста из компонента TWebBrowser
Категория: Интернет и Сети
Категория: Интернет и Сети
Затенение компонента определенным цветом
Категория: Компоненты
Категория: Компоненты
Форма всегда наверху
Категория: Компоненты
Категория: Компоненты
Преобразовать любой тип в строку
Категория: Текст и строки
Категория: Текст и строки
Создание и удаление полей
Категория: Базы данных
Категория: Базы данных
Как нарисовать фрактал
Категория: Математика
Категория: Математика
Компонент StatusBar
Категория: Компоненты
Категория: Компоненты
Преобразовать Римские символы в Арабские и наоборот
Категория: Текст и строки
Категория: Текст и строки
Подсчитать количество слов в строке
Категория: Текст и строки
Категория: Текст и строки
Delphi - Справочник: On
On
|
Try Statement {Statement...}; Except On {Name :} Exception type Do Statement; {Else Statement} End; |
Ключевое слово (Unit )
|
Определяет обработку особых ситуаций в предложении Try Except
|
Описание:
|
Ключевое слово On определяет инструкцию обработки особых ситуаций в Except части Try инструкции. Если указанное исключение (Exception) произошло в Try инструкции, то выполняется команда Do. В зависимости от назначенного имени (Name) исключения, может быть выведено на экран сообщение с текстом исключения (Name.Message) или другое действие. Если поднятое исключение не нашло соответствующего ему пункта On, тогда выполняется проверка, находимся ли мы во вложенном блоке Try. Если так, обрабатывается пункт Except его родительского Try. Если не найдено пункта On или Else, программа прерывается. Предложение Else не является действительно необходимым - лучше использовать On E:Exception Do, универсальный обработчик исключительных ситуаций, так как он обеспечивает сообщение об ошибках (E.Message). Для всех исключений объект Exception, это тот, на который ссылаются в пункте On. Эти объекты обычно происходят от класса Exception. Вы можете определить тип исключения, которое произошло, посмотрев свойство ClassName, которое дает тип исключения, типа 'EDivByZero', как показано в примере. |
Пример кода: Пример
|
//Пример кода : Деление на ноль с пунктом Except On var number, zero : Integer; begin // Попытка деления целого числа на нуль, чтобы вызвать исключение Try zero := 0; number := 1 div zero; ShowMessage('number / zero = '+IntToStr(number)); except On E : Exception do ShowMessage('Вызвана ошибка'+E.ClassName+'с сообщением : '+ E.Message); end; end; //Пример кода : Деление на ноль с многочисленными пунктами Except On var number, zero : Integer; begin // Попытка деления целого числа на нуль, чтобы вызвать исключение number := -1; Try zero := 0; number := 1 div zero; ShowMessage('number / zero = '+IntToStr(number)); except // Наше первое исключение не будет вызвано On E : EInOutError do ShowMessage('IO ошибка : '+E.Message); // Это исключение будет вызвано On E : EDivByZero do ShowMessage('Ошибка деления на zero : '+E.Message); // Перехват других ошибок Else ShowMessage('Неизвестная ошибка'); end; end;
Результат:
|
Вызвана ошибка EDivByZero с сообщением : Division by zero Ошибка деления на zero : Division by zero |