Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Получить короткий путь файла (изменив русские буквы) если есть длинный и на оборот
Категория: Файловая система
Категория: Файловая система
Определить МАС-адрес карты
Категория: Интернет и Сети
Категория: Интернет и Сети
Фреймы
Категория: Компоненты
Категория: Компоненты
Пароль на ADO
Категория: Базы данных
Категория: Базы данных
Число строкой с предстоящими нулями
Категория: Текст и строки
Категория: Текст и строки
Получить изображение формы в виде Bitmap и поместить его в буфер обмена
Категория: Компоненты
Категория: Компоненты
Как закачать файл из Интернета
Категория: Интернет и Сети
Категория: Интернет и Сети
Упаковать *.mdb-файл
Категория: Базы данных
Категория: Базы данных
Установить в программу свои шрифты
Категория: Приложение
Категория: Приложение
Округление в меньшую сторону
Категория: Математика
Категория: Математика
Delphi - Справочник: Raise
Raise
|
1 Raise 2 Raise Object reference 3 Raise Object reference At Address pointer |
Ключевое слово (Unit )
|
Поднимает исключение
|
Описание:
|
Ключевое слово Raise создает объект исключения, который передается обработчику исключений Delphi. Вы можете поднимать исключения только в буквально исключительных случаях. Это не только из-за понесенных накладных расходов ресурсов при выполнении, но также и потому, что есть наиболее лучшие пути для обработки ошибок приложения, таких как коды возврата от функций. Версия 1: Raise используется в предложении Except инструкции Try. Она просто, переподнимает текущее исключение в приложении для того, чтобы обратиться к нему на более высоком уровне. Версия 2: Использует новый объект исключения для сообщения об исключении. Обычно, вы можете использовать объект Exception, или унаследованный объект Exception. Вы можете создать объект во время исключения: Raise Exception.Create('Error happened'); Версия 3: как и версии 2, но с изменением значения адреса исключения. Во всех случаях, когда запрос Raise сделан, выполнения кода переходит к обработчику исключений Delphi - он или заканчивает программу, или использует текущую инструкцию Try, чтобы обработать её. |
Пример кода: Пример
|
//Пример кода : Использование функции Raise var fred, jim : string; begin // Установка некоторых типовые названий fred := 'Good name'; jim := 'Badname '; // Попытка менять эти названия try ShowMessage(fred+' поменялся = '+SwapNames(fred)); ShowMessage(jim+' поменялся = '+SwapNames(jim)); except On E : Exception do ShowMessage(E.Message); end; end; // Перестановка первого и второго названия в переданной строке названия // Поднимает исключение, если название недопустимо function TForm1.SwapNames(name: string): string; var blankPos : Integer; i : Integer; nameLen : Integer; begin // Очистка строки результата, чтобы указать, что нет никакого результата Result := ''; // Нахождение позицию последнего названия blankPos := Pos(' ', name); // Если найдено, и позиция меньше конца названия // тогда пока всё нормально nameLen := Length(name); if (blankPos > 0) and (blankPos then begin // Нахождение начала второго названия i := blankPos + 1; repeat // Если начало последнего названия найденно, меняем первое и последнее название if name[i] <> ' ' then Result := Copy(name, i, nameLen-i+1) + ' ' + Copy(name, 1, blankPos-1) else Inc(i); until (i > nameLen) or (Length(Result) > 0); end; // Не удалось поменять первое и второе название ? if Length(Result) = 0 then Raise Exception.CreateFmt('Недопустимое название : ''%s''', [name]); end; //Пример кода : Поднимаем новый тип исключения var age : Integer; exc : EBadAge; begin // Простой код, который поднимает новый тип исключения age := 23; if age <30 then begin // Создание нового объекта исключения EBadAge exc := EBadAge.CreateFmt('Bad age : %d',[age]); // Теперь поднимаем этот новый объект исключения Raise exc; end; end;
Результат:
|
Good name поменялся = name Good Недопустимое название : 'Badname ' Диалог ошибки Delphi покажет сообщение : Bad age : 23 |