powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / [Lazarus/Delphi] Как ловить сразу несколько исключений?
15 сообщений из 40, страница 2 из 2
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655637
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorи что ?Не обязательно использовать все возможности синтаксиса
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655645
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
_Vasilisk_defecatorи что ?Не обязательно использовать все возможности синтаксиса
ну и прекрасно.
Я вот и не использую всякие эти ваши генерики !
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655647
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГвостьМожно ли ловить сразу три разных исключения? Как-то типа такого:
Код: pascal
1.
2.
3.
4.
5.
6.
try
    ...
except
    on EOne, ETwo, EThree do
        ...
    end;


Если ты уверен в том, что это тебе нужно.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
function StringCaseSelect(const ASelector: string; const ACaseList: array of string): Integer;
var
  I: Integer;
begin
  for I := 0 to High(ACaseList) do
    if ACaseList[I] = ASelector then
    begin
      Result := Succ(I);
      Exit
    end;
  Result := 0
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
  try
    raise EConvertError.Create('')
  except
    case StringCaseSelect(ExceptObject.ClassName, ['EDivByZero', 'EFilerError', 'EConvertError']) of
      1, 2, 3:
        ShowMessage('Caught');
      0:
        ShowMessage('Uncaught')
    end;
  end
end;
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655662
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвейдЕсли ты уверен в том, что это тебе нужно.Как минимум, пропускаются все исключения наследников. О конфликте имен молчу.

Тогда уже так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
function StringCaseSelect(AExcept: TObject; const ACaseList: array of TClass): Integer;
var
  I: Integer;
begin
  for I := 0 to High(ACaseList) do
    if AExcept is ACaseList[I] then
    begin
      Result := I;
      Exit
    end;
  Result := -1;
end;

begin
  try
    raise EConvertError.Create('')
  except
    case StringCaseSelect(ExceptObject, [EDivByZero, EAccessViolation, EConvertError]) of
      0, 1, 2:
        Writeln('Caught');
      -1:
        Writeln('Uncaught')
    end;
  end
end.
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655665
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Да, проверять на класс логичнее
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655722
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_ те исключения, которые были указаны. Остальные пропускаются дальше. Никто никого не гасит.занятно, теперь у меня вопросов добавилось, придётся пролистать что же там тогда было и исчезло после правки
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655838
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorЯ вот и не использую всякие эти ваши генерикипереходи сразу на variadic templates, генерики отдыхают
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655917
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vavandefecatorЯ вот и не использую всякие эти ваши генерикипереходи сразу на variadic templates, генерики отдыхают

не, я по старинке, тем более библиотеки вылизаны годами
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39655934
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vavandefecatorЯ вот и не использую всякие эти ваши генерикипереходи сразу на variadic templates...
В Дельфи такого не будет, никогда.
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39656339
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД__В Дельфи такого не будет, никогдаразумеется, за подобными прелестями к "богомерзким" придется
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39656513
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vavanчччД__В Дельфи такого не будет, никогдаразумеется, за подобными прелестями к "богомерзким" придется"Богомерзких", если это те кто я думаю, вон вообще грозятся выпилить из России :)
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39656521
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.06.2018 14:25, alekcvp пишет:
> "Богомерзких", если это те кто я думаю, вон вообще грозятся выпилить из России :)

он вам не димон! (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39656560
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpvavanпропущено...
разумеется, за подобными прелестями к "богомерзким" придется"Богомерзких", если это те кто я думаю, вон вообще грозятся выпилить из России :)Речь идет о крестах, очевидно же
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39656573
Фотография kloun02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А те про кого он думал, это кто ?
...
Рейтинг: 0 / 0
[Lazarus/Delphi] Как ловить сразу несколько исключений?
    #39656734
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвейдРечь идет о крестах, очевидно жену конечно, про нас красноглазых
kloun02те про кого он думал, это кто ?если речь о 21472738 то наверное мелкомягкие
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / [Lazarus/Delphi] Как ловить сразу несколько исключений?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]