![]() |
Trotz Exception programm weiterlaufen lassen
Nabend Leute,
und zwar habe ich eine kleine Frage. Wie kann ich es erreichen, dass mein Tool trotz exception weiter läuft. Ich habe folgendes vor: Ich möchte von einer Seite verschiedene Quelltexte laden. Sprich die URL ist wie folgt aufgebaut = ![]() Und jetzt möchte ich mit einer Schleife einfach an threadid=i setzen. Also das i immer um 1 erhöht wird. Jetzt ist nur die Sache, dass ich eine Fehlermeldung bekomme, wenn es eine ID nicht gibt. Wie kann ich das nun am besten machen, dass wenn eine exception auftritt, einfach i um 1 erhöht werden soll und das programm weiter macht? Geht das überhaupt? |
AW: Trotz Exception programm weiterlaufen lassen
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var i,z,e:Integer; begin z := 0; for I := 1 to 100 do begin Memo1.Lines.Add(IntToStr(i)); try e := i div z; except ON E:Exception do Memo2.Lines.Add(E.Message); end; end; end; |
AW: Trotz Exception programm weiterlaufen lassen
Zwei Punkte. Punkt 1:
Delphi-Quellcode:
Was du zwischen Except und End machst, also reagierst oder eine Kommentarzeile einfügst, bleibt deine Sache. Mit Except fängst du die Fehlermeldung ab, aber, nun Punkt 2:
try
// except // end; In der IDE kommt sie dennoch vor, es seiden du schaltest es ab, d. h. trotz Except kommt die Meldung. Im späteren Programm nicht. |
AW: Trotz Exception programm weiterlaufen lassen
Ich glaube ich habe mich ein wenig falsch ausgedrückt oder ich verstehe es nicht xD
Also, wie ich Exceptions abfange ist mir bewußt xD Aber sobald die Exception auftritt, bricht das Tool ja ab und führt das aus, was ich im Falle einer Exception eben gesagt habe. Ich möchte mir aber jetzt nicht die Meldung ausgeben lassen, sondern einfach nur, dass z.B. i um 1 erhöht wird und die Schleife weiter macht. In dem von Bummi aufgeführtem Code, wird ja jetzt nur die Exception agefangen und das Tool bricht die Berechnung ab. Ich möchte aber, dass enfach nur mein Zähler i geändert wird aber trotzdem alles weiter macht. Könnte ich nicht einfach das Auslesen des Quelltextes in eine Funkion schreiben, und im Falle einer Exception wird i ein neuer Wert zugewiesen und die Funktion neu aufgerufen? |
AW: Trotz Exception programm weiterlaufen lassen
Man könnte so etwas ja auch einmal ausprobieren. Es ist zwar im Allgemeinen kein guter Stil, einen except-Block leer zu lassen, aber versuch mal
Delphi-Quellcode:
for i := 1 to 100 do
begin URL := Format('http://www.seite.de/threadid=%d', [i]); try OpenURL; except end; end; |
AW: Trotz Exception programm weiterlaufen lassen
Zitat:
Aber der eigentliche Punkt ist eher der Punkt 2. Der besagt, dass du dir bewußt sein solltest, dass trotz eines leeren Except Blocks, es in der IDE wohl eine Meldung gibt. Wenn du keine Meldung willst, dann schalte die in der IDE ab oder führe das Programm direkt aus. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz