Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Exception, Auslöser unbekannt
HenryHux - Mo 24.01.11 14:43
Titel: Exception, Auslöser unbekannt
Hi,
ich bekomme bei folgender Funktion im Betrieb ca alle 30 Minuten eine Exception.
Wenn ich die Funktion aber Testweise 10k mal durchlaufen lasse, klappt alles korrekt.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure WriteToDatabase(x : integer); var i : integer; begin try case x of 1 : begin with Datenbank.ADOTable1 do begin Append; Post; end; end; end; for i := low(HHAction) to high(HHAction) do HHAction[i] := ''; except showmessage('Exception bei Database'); end; end; |
Die DB wird nur von diesem Programm benutzt, also keine doppelten Schreibzugriffe.
Leider kommt die Exception eher selten, daher habe ich keine genaueren Infos, ich werde aber noch welche nachtragen.
Wenn jemand eine Idee hat, wieso die Exception ausgelöst wird, dann nur her damit :D
Lg
Nersgatt - Mo 24.01.11 14:46
Als allererstes solltest Du Deinen Exceptionhandler so gestalten, dass er eine aussagekräftige Meldung gibt. Sonst kann man nur raten.
Tilman - Mo 24.01.11 14:50
Und das geht z.B. so:
Delphi-Quelltext
1: 2: 3: 4: 5:
| try [..] except on E: Exception do ShowMessage(E.Message); end; |
HenryHux - Mo 24.01.11 14:52
Ja, danke.
Der Delphi Debugger zeigt es mir ja trotzdem an, war so ja nur testweise.
Die Fehlermeldung ist folgende:
Erste Gelegenheit für Exception bei $756BB727. Exception-Klasse EOleException mit Meldung 'Fehler bei einem aus mehreren Schritten bestehenden Vorgang. Prüfen Sie die einzelnen Statuswerte'. Prozess Project1.exe (4024)
Lg
bummi - Mo 24.01.11 14:54
Fehlender Primärschlüssel ? Trigger in der Datenbank, Defaultwerte ?
HenryHux - Mo 24.01.11 14:57
DB hat Indizies und Standardwerte.
Ka was Trigger sind, deswegen werden wohl auch keine drin sein :D
Trotzdem fügt die Funktion in Tests fehlerlos 10k Einträge ein.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!