Ošetření výjimek
Ve slides jsme mluvili o tom, jak správně zaznamenávat kontext pro řešení chyb. Jednou z oblastí, která se při zaznamenávání zpráv často přehlíží, je hlubší důvod jejich vzniku. Chybové zprávy jsou mnohdy generické – například „Chybná hodnota" nebo „Neplatné datum". Pomocí detailů a kontextu ale můžeme tyto zprávy obohatit o skutečně užitečné informace.
V tomto cvičení budeme pracovat s hodnotou A1C, která udává procento červených krvinek s cukrem navázaným na hemoglobin. Typické hodnoty nalačno jsou pod 5,7 % u zdravých pacientů, 5,7 % až 6,4 % u prediabetu a nad 6,5 % je zpravidla indikátorem nekompenzovaného diabetu.
Toto cvičení je součástí kurzu
Transakce a ošetření chyb v PostgreSQL
Pokyny k cvičení
- Dokonči blok transakce doplněním příkazů
DOaBEGINna příslušná místa. - Přidej výjimku, která vloží
'a1c is typically less than 14'do sloupcecontexttabulkyerrors. - Ukonči výjimku zadáním procedurálního jazyka, který byl použit.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- Add a DO function
___ $$
-- BEGIN a transaction block
___
INSERT INTO patients (a1c, glucose, fasting)
values (20, 89, TRUE);
-- Add an EXCEPTION
____
-- Catch all exception types
WHEN others THEN
INSERT INTO errors (msg, detail, ___) VALUES
(
'failed to insert',
'This a1c value is higher than clinically accepted norms.',
'___'
);
END;
-- Make sure to specify the language
____ language 'plpgsql';
-- Select all the errors recorded
SELECT * FROM errors;