AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Exception bei exception abfangen

Ein Thema von Meflin · begonnen am 30. Apr 2004 · letzter Beitrag vom 1. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Exception bei exception abfangen

  Alt 30. Apr 2004, 14:12
Hi,
ich will so eine exception abfangen:
Delphi-Quellcode:
try begin
...
end;
except
on EIdReadTimeout do begin
  inc(timeouts);
end;
wenn ich das mache bekomm ich allerdings nen fetten fehler. zu erwähnen ist dass das ganze in einem thread läuft und der fehler michs ehr an eine zugriffsverletzung erinnert . was gibts da zu beachten bzw woran liegt der fehler?

*MFG*
  Mit Zitat antworten Zitat
Benutzerbild von Smokey
Smokey

Registriert seit: 10. Nov 2003
Ort: Puerto de la Cruz
158 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 14:17
Lass mal nach try das begin - end weg
und mach dafür am Ende des Codes noch ein end hin. Syntax für Exceptions in dem Fall :

Delphi-Quellcode:
try
  //dein code

except
  on Exception do
  begin
    //fehlerbehandlung

  end; //fehlerbehandlungs-block

end;//try-except
<edit> Hilfe ich werde Legastheniker <edit>
Greif dir ein gutes Stück Fleisch auf deinem Weg nach draussen !!!
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 14:25
nein, hat nix geholfen. erstens wird jetzt nur noch die eine exception abgefangen und keine andere mehr und der alte fehler kommt auch noch. ich wollte halt eben nur bei der speziellen exception was machen und alle anderen in silentexceptions verwandeln!
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 14:28
hier mal der nicht funzende code:
Delphi-Quellcode:
try
  password := pwtotest;
  connect(connection_timeout);
  if connected = true then begin
    with form1 do begin
      ShowMessage(password+' was right!');
    end;
  end;
  interlockedexchangeadd(@form1.donegauge.progress,1);
  interlockedexchangeadd(tickcount,1);
except
  on EIdReadTimeout do begin
    inc(timeouts);
  end;
  interlockedexchangeadd(@form1.donegauge.progress,1);
  interlockedexchangeadd(tickcount,1);
end;
  Mit Zitat antworten Zitat
Benutzerbild von Smokey
Smokey

Registriert seit: 10. Nov 2003
Ort: Puerto de la Cruz
158 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 15:11
Hm nunja ich bin mir nicht sicher, ob es geht, nach dem "on DeineException do begin-end" noch code auszuführen.
Zumindest habe ich sowas noch nie gesehen.
Da du aber die 2 zeilen code auf jedenfall auszuführen scheinst (sowohl bei keinem Fehler als auch bei Fehler)
würde ich das mit finally machen. also:

Delphi-Quellcode:
try

  try
    password := pwtotest;
    connect(connection_timeout);
    if connected = true then begin
      with form1 do begin
        ShowMessage(password+' was right!');
      end;
    end;
  except
    on EIdReadTimeout do begin
      inc(timeouts);
    end;
  end;

finally
  interlockedexchangeadd(@form1.donegauge.progress,1);
  interlockedexchangeadd(tickcount,1);
end;
aber ka obs daran liegt.
Greif dir ein gutes Stück Fleisch auf deinem Weg nach draussen !!!
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 16:43
nein daran liegts nicht, es geht nämlich nicht nach dem on blabla noch was auszuführen wenn ich die auskommentiere kommt der fehler immernoch. aber das mit dem finally werd ich versuchen (ich dacht immer man könnt nur entweder except oder finally nehmen)

*MFG*
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#7

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 16:47
Um "restliche" Exceptions zu behandeln, hält die Delphi-Hilfe folgendes bereit:

Delphi-Quellcode:
try
 ...
except
  on EZeroDivide do HandleZeroDivide;
  on EOverflow do HandleOverflow;
  on EMathError do HandleMathError;
else
  HandleAllOthers;
end;
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 16:51
thx, es funzt! das handleallothers macht das aus den restlichen silentexceptions?
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 17:00
achso ich habs gechecked! tuts nicht
  Mit Zitat antworten Zitat
Benutzerbild von Smokey
Smokey

Registriert seit: 10. Nov 2003
Ort: Puerto de la Cruz
158 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Exception bei exception abfangen

  Alt 30. Apr 2004, 17:34
Aber du checkst das schon ausserhalb der Entwicklungsumgebung oder hast das stoppen bei Exceptions abgestellt?

wenn nicht :

Wenn doch : hm komisch
Greif dir ein gutes Stück Fleisch auf deinem Weg nach draussen !!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz