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
Leider kommt immernoch die Fehlermeldung nicht lesbar und der Code nach dem finnaly block wird nicht ausgeführt.
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.
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
Geisthd hat geschrieben:... der Code nach dem finnaly block wird nicht ausgeführt.
Anhand deines Beispiels könnte sowas passieren (reduziert):
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: 470
- 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,
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?
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.
Geisthd hat geschrieben:Leider kommt immernoch die Fehlermeldung nicht lesbar
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?
Code: Alles auswählen
try
general.LoadFromFile('Daten.txt');
finally
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.
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;