Začněte nyníZačněte zdarma

Zachytávání konkrétních výjimek

Vytvoříme DO funkci, která zachytí situaci, kdy je glucose nastaveno na null, a zaloguje zprávu s jasným vysvětlením, že Glucose nemůže být null.

Toto cvičení je součástí kurzu

Transakce a ošetření chyb v PostgreSQL

Zobrazit kurz

Pokyny k cvičení

  • Uvnitř bloku BEGIN v DO funkci vlož pomocí INSERT do tabulky patients řádek (a1c=7.5, glucose=null a fasting= TRUE).
  • Přidej výjimku not_null_violation, která v případě chyby vloží do sloupce detail tabulky errors zprávu "Glucose can not be null."

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- Make a DO function
DO $$
-- Open a transaction block
BEGIN
    INSERT INTO patients (a1c, glucose, fasting) 
    VALUES (7.5, ___, TRUE);
-- Catch an Exception                                                               
EXCEPTION
	-- Make it catch not_null_constraint exception types
    WHEN ___ ___
    	-- Insert the proper msg and detail
       INSERT INTO errors (___, detail) 
       VALUES ('failed to insert', '___');
END$$;
                                                                     
-- Select all the errors recorded
SELECT * FROM errors;
Upravit a spustit kód