Jeden wyjątek dla całego programu

0

Witam,
mam nastepujący problem:
Otoż załózmy ze mam baaaardzo duży kod w aplikacji. I załozmy ze w 1000 miejscahcw tym kodzie moze wystąpić wyjatek EConvertError.
Czy jest jakis sposob aby zawsze gdy wystąpi taki wyjkatek był wyświtlany przez mnie komunikat?
Oczywiśćnie nie chodzi mi o to ze napisze własną procedure kótra wyswietla komunikat i bedzie wywoływana zawsze z bloku try...except. Chodzi mi zebym nie musiał wystwaić teraz tego 1000 bloków try...except. Wiem ze powinienem o tym pomyslkeć podczas pisania procedur gdzie może wystąpić taki wyjątek, ale wierzez jest jest sposob aby to działą jak ja potrzebuje.

Pozdrawiam.

0

TApplication.OnException

0

TApplication.OnException

tak, dzieki. Jeszce jedno pytanie ze wzgledy na moje niezbyt wysokie zaawansowanie w Delphi. gdzie mam to wstawić.
Tylko proszę.. bez postów typu jaki to ja jestem lamer itp. Pytam grzecznie jak nie chcecie to nie odpowiadajcie.

0

TApplication.OnException

jest komponent applicationMessage czy jakos tak. Tam jest odpowiedni event.

0

procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin

end;

i chwilka. Bo chiałbym zrobić coś w stylu case. Zaby jesli wyjatek jest EconvertError to coś tam, jesli EAccessVoilation to coś innego ale jesli proboje zrobić

case E of
EConvertError: //cos tam coś tam

to dostaje komunikat

[Error] Unit1.pas(6420): Ordinal type required

0

[Error] Unit1.pas(6420): Ordinal type required

nie bedzie dzialac z case, tak samo jak stringi :)
sprobuj rzutowac na integer

case integer(E) of
integer(EConvertError):costam

0

[Error] Unit1.pas(6420): Ordinal type required

nie bedzie dzialac z case, tak samo jak stringi :)
sprobuj rzutowac na integer

case integer(E) of
integer(EConvertError):costam

A może zamiast case użyć ifa?:

if E is EConvertError then
  // ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1