ApplicationEvents - jak zablokować komunikat o błędzie

ApplicationEvents - jak zablokować komunikat o błędzie
Chev_Lucas
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 9 lat
  • Postów:50
0

Witam, chcę zrobić tak, aby program nie zwracał mi błędu np o dzieleniu przez 0. W zasadzie to chodzi mi o błąd związany z HGG.
Jak dam w zdarzeniu ApplicationEventsException np. Showmessage('ŻAL'); to najpierw pokazuje mi domyślne okno błędu, a dopiero później mój komunikat. Próbowałem pisać w zdarzeniu tym action:=nil; albo e.message:='lol'; ale to nic nie zmienia.
Ja chcę całkowicie zablokować wyskakiwanie błędów...
Jak to zrobić pomóżcie

Opi
  • Rejestracja:ponad 20 lat
  • Ostatnio:2 dni
  • Postów:1030
0

Dojść do miejsca wystąpienia błędu i go naprawić poprzez ustalenie warunku, gdy zmienna przyjmie wartość 0.

W innych przypadkach stosuje się bloki "try except"

Chev_Lucas
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 9 lat
  • Postów:50
0

hmm, jak to zrobić? nie wiem ;/

KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
0

Lepiej znaleźć błąd i wstawić warunek

Kopiuj
if (dzielnik <> 0) then
//mozna dzielić

albo przechwycić wyjątek

Kopiuj
try
iloraz:= dzielna / dzielnik;
except
on E : EZeroDivide do
  //nic nie rób albo tu jakis komunikat bledu (ew. exit co tam chcesz)
else
  raise //inny wyjątek zostanie obsłużony dalej
end;

Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 1x, ostatnio: kAzek
cimak
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 9 lat
  • Postów:1668
0

application.onError

SI
  • Rejestracja:prawie 15 lat
  • Ostatnio:prawie 11 lat
  • Postów:184
0
cimak napisał(a)

application.onError

Być może w najnowszych wersjach tak jest, ale w Delphi 7

Kopiuj
Application.OnException
cimak
wybaczcie, z glowy pisane

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.