Kom igångKom igång gratis

Hantera undantag

I slides diskuterade vi vikten av att ge rätt kontext för att kunna lösa problem. Ett område som ofta förbises när meddelanden registreras är den djupare anledningen till dem. Fel är ofta generiska, som "Ogiltigt värde" eller "Ogiltigt datum." Men med hjälp av detaljer och kontext kan vi berika dessa meddelanden.

Här ska vi arbeta med A1C, som är andelen röda blodkroppar som har socker bundet till hemoglobinet. Typiska fastevärden är under 5,7 % för opåverkade patienter, 5,7 % till 6,4 % för prediabetes, och över 6,5 % är vanligtvis ett tecken på okontrollerad diabetes.

Den här övningen är en del av kursen

Transaktioner och felhantering i PostgreSQL

Visa kurs

Övningsinstruktioner

  • Slutför transaktionsblocket genom att fylla i DO- och BEGIN-satserna där det är tillämpligt.
  • Lägg till ett undantag som infogar 'a1c is typically less than 14' i kolumnen context i tabellen errors.
  • Avsluta undantaget genom att ange vilket procedurorienterat språk som används.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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;
Redigera och kör kod