Fehlermeldung obwohl Try
Fehlermeldung obwohl Try
HI,
Ich habe da eine kleine Frage. Ich hbe in meinem Code einen Part wo ich mit dateien arbeite. Ich erstelle in dem Part Accounts. Damit nicht alle Daten verloren gehen, versuche ich sie im try block zu lesen und im finnaly teil erweitert ich sie. Leider kommt immernoch die Fehlermeldung nicht lesbar und der Code nach dem finnaly block wird nicht ausgeführt. Kann man mir dabei helfen?
PS ich habe im finnaly block nich eine try schleife.
Bei Fragen bitte melden
Ich habe da eine kleine Frage. Ich hbe in meinem Code einen Part wo ich mit dateien arbeite. Ich erstelle in dem Part Accounts. Damit nicht alle Daten verloren gehen, versuche ich sie im try block zu lesen und im finnaly teil erweitert ich sie. Leider kommt immernoch die Fehlermeldung nicht lesbar und der Code nach dem finnaly block wird nicht ausgeführt. Kann man mir dabei helfen?
PS ich habe im finnaly block nich eine try schleife.
Bei Fragen bitte melden
Re: Fehlermeldung obwohl Try
Ich glaube es ist besser ein kleines Testprojekt anzuhängen oder dessen Quellcode zu zeigen, als den Fehler einfach nur zu beschreiben, denn so wird sich wahrscheinlich erstmal jeder fragen "Wieso soll der Code nach FINALLY nicht ausgeführt werden?".
Zumal das für mich nicht ganz eindeutig ist. Wird der Code nach dem FINALLY Block nicht ausgeführt oder der Code im FINALLY Block oder ist das für dich das gleiche?
Zumal das für mich nicht ganz eindeutig ist. Wird der Code nach dem FINALLY Block nicht ausgeführt oder der Code im FINALLY Block oder ist das für dich das gleiche?
Re: Fehlermeldung obwohl Try
Da klingt ja so als würdest du TRY_EXCEPT_END benutzen und dich wundern, dass innerhalb des Editors trotzdem eine Exception angezeigt wird. Das ist ganz normal, kann aber ausgeschaltet werden. Wenn du nur kurz mal keine sehen möchtest, dann starte das Programm außerhalb des Editors.Leider kommt immernoch die Fehlermeldung nicht lesbar und der Code nach dem finnaly block wird nicht ausgeführt.
EDIT: Das Einfachste ist folgendes: richte dir den DEBUG und RELEASE-Modus ein und lösche den DEFAULT Modus in den Projekteinstellungen und wenn du die Exceptions sehen möchtest, dann stelle den Modus auf DEBUG und wenn nicht, dann stelle den MODUS auf RELEASE. Im RELEASE-Mode wird dann der EXCEPT-Teil abgearbeitet...
Re: Fehlermeldung obwohl Try
Danke erstmal für die schnellen Antworten! Code Beispiel folgt! Und nein ich habe keine exception schleife verwendet. An alle die denken das ich die Information von lazarus als fehlermeldung ansehe.
Re: Fehlermeldung obwohl Try
Code: Alles auswählen
if (Edit1.Text = '') OR (Edit2.Text = '') OR (Edit3.Text = '') OR (Edit1.Text = 'Benutzername') OR(Edit2.Text = 'Passwort') OR (Edit3.Text = 'Passwort wiederholen') OR not (Edit2.Text = Edit3.Text)then
begin
ShowMessage('Bitte komplett ausfüllen und / oder richtig ausfüllen!');
end else
begin
sl:=TStringList.Create;
general:= TStringList.Create;
try
general.LoadFromFile('Daten.txt');
finally
try
general.Add(Edit1.Text);
general.Add(Edit2.Text);
general.SaveToFile('Daten.txt');
sl.Add(Edit1.Text);
sl.Add('0');
sl.SaveToFile(Edit1.Text + 'Daten.txt');
finally
sl.Free;
general.Free;
end;
end;
Edit1.Text:='Benutzername';
Edit2.Text:='';
Edit3.Text:='';
Form2.Hide;
Form1.Left:=Form2.Left;
Form1.Top:=Form2.Top;
Form1.Show;
end;
Re: Fehlermeldung obwohl Try
Anhand deines Beispiels könnte sowas passieren (reduziert):Geisthd hat geschrieben:... der Code nach dem finnaly block wird nicht ausgeführt.
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
begin
try
raise Exception.Create('First Exception');
finally
try
raise Exception.Create('Second Exception');
finally
ShowMessage('Alles gut');
end;
end;
end;
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 475
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Fehlermeldung obwohl Try
Hi,
An der Stelle kann eine Fehlermeldung auftauchen, wenn die Datei nicht existiert. Um das zu vermeiden, kann/sollte man vorher prüfen ob die Datei überhaupt existiert.
Wie lautet die Meldung genau? Kannst du sagen in welcher Zeile im Code sie auftritt (Breakpoint setzen und mit F8 durchsteppen)? Die Datei, die gelesen/geschrieben werden soll, sollte auch geprüft werden. Kannst du sie mit einem Editor öffnen und stimmt der Inhalt?Geisthd hat geschrieben:Leider kommt immernoch die Fehlermeldung nicht lesbar
Code: Alles auswählen
try
general.LoadFromFile('Daten.txt');
finally
Code: Alles auswählen
try
if FileExistsUTF8('Daten.txt') then
general.LoadFromFile('Daten.txt');
finally
mfg Ingo
Re: Fehlermeldung obwohl Try
Damit klappt es jetzt

Code: Alles auswählen
if (Edit1.Text = '') OR (Edit2.Text = '') OR (Edit3.Text = '') OR (Edit1.Text = 'Benutzername') OR(Edit2.Text = 'Passwort') OR (Edit3.Text = 'Passwort wiederholen') OR not (Edit2.Text = Edit3.Text)then
begin
ShowMessage('Bitte komplett ausfüllen und / oder richtig ausfüllen!');
end else
begin
sl:=TStringList.Create;
general:= TStringList.Create;
try
general.LoadFromFile('Daten.txt');
except
ShowMessage('Datei angelegt');
end;
try
general.Add(Edit1.Text);
general.Add(Edit2.Text);
general.SaveToFile('Daten.txt');
sl.Add(Edit1.Text);
sl.Add('-3');
sl.Add('5');
sl.Add('-3 Euro Preis für 5 Buchungen');
sl.SaveToFile(Edit1.Text + 'Daten.txt');
finally
sl.Free;
general.Free;
end;
Edit1.Text:='Benutzername';
Edit2.Text:='';
Edit3.Text:='';
Form2.Hide;
Form1.Left:=Form2.Left;
Form1.Top:=Form2.Top;
Form1.Show;