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

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

Zobrazit kurz

Pokyny k cvičení

  • Dokonči blok transakce doplněním příkazů DO a BEGIN na příslušná místa.
  • Přidej výjimku, která vloží 'a1c is typically less than 14' do sloupce context tabulky errors.
  • 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;
Upravit a spustit kód