[gelöst] Exception aus Fremdkomponente wird nicht angezeigt

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Lemmy
Beiträge: 47
Registriert: Do 23. Feb 2017, 06:18

[gelöst] Exception aus Fremdkomponente wird nicht angezeigt

Beitrag von Lemmy »

Hallo,

Lazarus 1.8.4 mit FPC 3.0.4 auf CentOS7

Ich nutze die MyDAC Komponenten von DevArt um auf eine MariaDB zuzugreifen. Dabei habe ich folgendes festgestellt: Wenn bei einem Insert eine Exception auftreten sollte (z.B. weil ich in einem mit NOT NULL definiertem Feld keinen Inhalt habe) dann kommt diese Exception bei meinem Programm nicht an. Ich habe da auch schon Devart angeschrieben, bei denen kommen die Exceptions. Ich verstehe jetzt nicht wo das Problem liegt - wenn ich den fehlerhaften Insert-SQL in einer DBConsole ausführen will, kommt die korrekte Fehlermeldung auch da.
Hat da jemand eine Idee was bei mir falsch läuft?

Hinweis: Die Exception kommt bei mir nicht, egal ob ich das Programm in der IDE ausführen lasse oder nicht. D.h. das hängt nicht an einer unterdrückten Exception.

Edit: wenn ich per raise exception.create() was mache, wird die Exception auch angezeigt, nur eben nicht die Fehlermeldung vom MariaDB Server.
Zuletzt geändert von Lemmy am Do 9. Jan 2020, 19:06, insgesamt 1-mal geändert.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 586
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Winux (L 2.0.7 FPC 3.04)
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Exception aus Fremdkomponente wird nicht angezeigt

Beitrag von fliegermichl »

Ohne mich damit auszukennen vermute ich, daß die Exception innerhalb der Fremdkomponente abgefangen wird. Vielleicht gibt es da sowas wie einen Event OnError?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4147
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Exception aus Fremdkomponente wird nicht angezeigt

Beitrag von af0815 »

Laut Doku gibt es ein OnError auf die Connection.

https://www.devart.com/mydac/docs/devar ... nerror.htm

Dort kann man aber auch Exception unterdrücken.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Lemmy
Beiträge: 47
Registriert: Do 23. Feb 2017, 06:18

Re: Exception aus Fremdkomponente wird nicht angezeigt

Beitrag von Lemmy »

Danke für Eure Tipps! Lag aber am Ende an der Datenbank. Ich habe Devart mit ins Boot geholt, denen habe ich am Ende sogar ne virtuelle Maschine mit dem Problem bereit gestellt - grund ist
https://mariadb.com/kb/en/sql-mode/

der muss bei MariaDB und neuer auf TRADITIONAL stehen, sonst kommen keine Fehler - die muss man dann mit Show Errors oder Show Warnings sich nach dem ausführen einer SQL vom Server abholen.

Grüße

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 586
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Winux (L 2.0.7 FPC 3.04)
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Exception aus Fremdkomponente wird nicht angezeigt

Beitrag von fliegermichl »

Prima, dann sei doch so nett und editiere deinen Ursprungspost und schreib "gelöst" vor den Titel

Antworten