Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
Житель Земли
3003 / 3008 / 391
Регистрация: 26.07.2011
Сообщений: 11,464
Записей в блоге: 1
1

Raise Exception.Create

02.06.2017, 09:30. Показов 6397. Ответов 2

Author24 — интернет-сервис помощи студентам
добрый день. вызывает ли конструкция raise прерывание выполнения процедуры, в которой она вызвана? т.е., я пишу так
Delphi
1
2
3
4
5
6
if not ShellExecuteEx(@ExInfo) then
  begin
    raise Exception.Create(SysErrorMessage(GetLastError));
    Exit;
  end;
  WaitForSingleObject(ExInfo.hProcess,tm);
чтобы прервать дальнейшее выполнение процедуры. или можно Exit опустить? когда-то читал об этом, но смутно помню
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2017, 09:30
Ответы с готовыми решениями:

TFilestream.create [cannot create file]
function bat: string; begin with...

Ошибка raise EConvertError.CreateResFmt(ResString, Args);
unit UnitTabl; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils,...

First chance exception at $646E6970. Exception class $C0000005 with message access violation at 0x646e6970
Перешёл с XE6 на Delphi 10.3 после чего проект перестал запускаться, выдавая ошибку - First chance...

Ошибка: First chance exception at $FEEEFEEE. Exception class $C0000005 with message 'access violation at 0xfeeefeee:
Здравствуйте! Подскажите пожалуйста, из-за чего может возникнуть такая ошибка?: First chance...

2
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
02.06.2017, 09:48 2
Цитата Сообщение от DenNik Посмотреть сообщение
вызывает ли конструкция raise прерывание выполнения процедуры
Да, вызывает, вот мини пример
Delphi
1
2
3
4
5
6
procedure TForm1.Button1Click(Sender: TObject);
begin
  memo1.Lines.Add('1');
  raise Exception.Create('Error');
  memo1.Lines.Add('2');
end;
Выведет только 1.
1
Житель Земли
3003 / 3008 / 391
Регистрация: 26.07.2011
Сообщений: 11,464
Записей в блоге: 1
02.06.2017, 11:25  [ТС] 3
и как я сам не догадался проверить

Добавлено через 1 час 34 минуты
нюанс. кому пригодится потом
в конструкции
Delphi
1
2
3
4
5
6
7
try
  if not ShellExecuteEx(@ExInfo) then
  raise Exception.Create(SysErrorMessage(GetLastError));
  WaitForSingleObject(ExInfo.hProcess,tm);
finally
  ShowMessage('finally');
end;
в случае исключения блок finally выполнится, WaitFor... - нет
0
02.06.2017, 11:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2017, 11:25
Помогаю со студенческими работами здесь

First chance exception at $005D3449. Exception class $C0000005 with message 'access violation at 0x005d3449: read of add
помогите исправить ошибку :( unit Unit2; interface uses Winapi.Windows, Winapi.Messages,...

Как избавится от "First chance exception Exception class EOutOfResources with message 'Out of system resources'."?
Как избавится от "First chance exception at $765CC54F. Exception class EOutOfResources with message...

form2.create()
доброго времени суток. мне нужно чтоб рпи запуске программы вторая форма не создавалась (это...

Create Form
Здравствуйте! Меня не устраивает окно form которое по дизайну такое же как OS . Я хочу сделать свой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru