Allgemeine Fehlerbehandlung

Fragen und Probleme zu PL/pgSQL.
pgSteffen
Benutzer
Beiträge: 89
Registriert: Di 14. Dez 2010, 09:46

Re: Allgemeine Fehlerbehandlung

Beitrag von pgSteffen » Mo 27. Feb 2017, 15:20

Hallo,
ich habe jetzt doch noch eine etwas ausführlichere Fehlerausschrift inklusive Zeilennummer gefunden:

Code: Alles auswählen

BEGIN
    insert into gibtsnich (fdatetime,fcontext,ftext) values (now(),err_desc,SQLERRM);

    --SELECT 1/0;

    return True ;

    EXCEPTION
        WHEN  OTHERS 
            THEN  
                GET STACKED DIAGNOSTICS err_desc = PG_EXCEPTION_CONTEXT;
                err_desc=replace(err_desc,E'\n',';');
                insert into zwi_errtab (fdatetime,fcontext,ftext) values (now(),err_desc,SQLERRM);
    return False;
end;

Code: Alles auswählen

2017-02-27 15:16:06.273+01	Relation „gibtsnich“ existiert nicht	PL/pgSQL-Funktion mytest() Zeile 7 bei SQL-Anweisung
2017-02-27 15:16:13.855+01	Division durch Null	                SQL-Anweisung „SELECT 1/0“;PL/pgSQL-Funktion mytest() Zeile 9 bei SQL-Anweisung
Vielleicht kann es ja ein anderer auch mal gebrauchen :-)

Gruß Steffen
PostgreSQL 10.6, 64bit Windows

Antworten