Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
Внизtry ... except ... on Найти похожие ветки
← →
StriderMan © (2006-11-15 15:46) [0]Доброго времени, мастера! Думал что хорошо знаю исключения, а встал в тупик.
try
// тут код может сгенерить ЛЮБОЙ exception
except
//если Exception типа EMyException то нужно поменять ему Message и сделать raise.
//Любое другое исключение надо просто сделать raise
end;
Сейчас сделал так:try
//код
except
on E:Exception do
begin
if E is EMyException then
E.Message := "МОЕ исключение";
raise;
end;
end;
но ИМХО как-то некрасиво. Хотелось бы что-то типа:try
но такой код делфи не съедает
//код
except
on E: EMyException do
E.Message := "МОЕ исключение";
raise;
end;
← →
novill © (2006-11-15 15:51) [1]попробуй
try
//код
except
on E: EMyException do
begin
E.Message := "МОЕ исключение";
raise;
end;
end;
← →
StriderMan © (2006-11-15 15:55) [2]
> novill © (15.11.06 15:51) [1]
так все другие исключения проглотятся, что нельзя.
← →
novill © (2006-11-15 15:58) [3]> так все другие исключения проглотятся, что нельзя.
ТЫ ПРОБОВАЛ???
procedure TForm1.Button1Click(Sender: TObject);
begin
try
(sender as TOpenDialog).Execute; // просто для генерации ДРУГОГО ИСКЛЮЧЕНИЯ
Write("1");
except
on e:EInOutError do
begin
e.Message:="Kyky";
raise;
end;
end;
end;
← →
evvcom © (2006-11-15 15:58) [4]Дык, там же еще else есть! Чтите help!
← →
StriderMan © (2006-11-15 16:00) [5]
> novill © (15.11.06 15:58) [3]
> ТЫ ПРОБОВАЛ???
работает, круто! спасибо!
это получается то что не попало под условие on автоматом вываливается наружу?
← →
novill © (2006-11-15 16:02) [6]> там же еще else есть!
Угу, но тут он не нужен :)
← →
novill © (2006-11-15 16:02) [7]> [5] StriderMan © (15.11.06 16:00)
:) смотри [4]
← →
StriderMan © (2006-11-15 16:04) [8]
> evvcom © (15.11.06 15:58) [4]
> novill © (15.11.06 16:02) [7]
всем спасибо :).
(ушол стыдливо перечитывать хелп)
← →
evvcom © (2006-11-16 09:05) [9]> [6] novill © (15.11.06 16:02)
Согласен, это я так, на всякий случай :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c