Чтение онлайн

на главную - закладки

Жанры

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

 on Тип_исключенияN do Блок_операторовN;

end;

Типу исключения соответствует имя класса, производного от класса Exception. В

отличие от других классов Delphi, имена классов исключений начинаются к латинской буквы "E". Перечислим некоторые из этих классов:

• EZeroDivide — деление на ноль;

• EAccessViolation — ошибка доступа к памяти;

• ERangeError — выход значения за границы допустимого диапазона;

• EStackOverflow — переполнение стека памяти из-за слишком больших переменных или чрезмерно большого количество рекурсивных вызовов процедур (вызов процедуры самой себя);

• EConvertError — ошибка преобразования (например, строки в число);

• EDatabaseError — ошибка при работе с базой данных;

• EOutOfMemory — переполнение памяти;

• EFCreateError — ошибка создания файла;

• EFilerError — ошибка чтения/записи при работе с файлом;

• EFOpenError — ошибка открытия файла;

• EIniFileException — ошибка при работе с INI-файлом;

• EInOutError — ошибка ввода-вывода.

Если

тип исключения точно неизвестен, то для его обработки можно воспользоваться следующей конструкцией:

except

 on E: Exception do Блок_операторов;

end;

При этом в блоке операторов после ключевого слова do можно обращаться к свойству E.Message, которое содержит строку с описанием ошибки.

Блок операторов finally

Существует еще одна конструкция, связанная с обработкой исключений:

try

 //Операторы, которые могут привести к возникновению

 //исключения

finally

 //Операторы, которые выполняются при любых условиях

end;

Блок операторов после ключевого слова finally выполняется в любом случае, независимо от того, возникло исключение в блоке try или нет.

Поделиться:
Популярные книги

Мастер Разума III

Кронос Александр
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Мастер Разума III

Часовое имя

Щерба Наталья Васильевна
4. Часодеи
Детские:
детская фантастика
9.56
рейтинг книги
Часовое имя

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Эволюция мага

Лисина Александра
2. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эволюция мага

Прорвемся, опера! Книга 3

Киров Никита
3. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 3

Демон

Парсиев Дмитрий
2. История одного эволюционера
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Демон

Прорвемся, опера! Книга 2

Киров Никита
2. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 2

#Бояръ-Аниме. Газлайтер. Том 11

Володин Григорий Григорьевич
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Призыватель нулевого ранга. Том 3

Дубов Дмитрий
3. Эпоха Гардара
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Призыватель нулевого ранга. Том 3

Сделай это со мной снова

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сделай это со мной снова

Злыднев Мир. Дилогия

Чекрыгин Егор
Злыднев мир
Фантастика:
фэнтези
7.67
рейтинг книги
Злыднев Мир. Дилогия