Zacznij terazZacznij za darmo

Obsługa wyjątków

Na slajdach omawialiśmy znaczenie właściwego kontekstu przy rozwiązywaniu problemów. Jednym z często pomijanych aspektów podczas rejestrowania komunikatów jest głębsze uzasadnienie ich wystąpienia. Błędy bywają bardzo ogólne – na przykład „Nieprawidłowa wartość" lub „Nieprawidłowa data". Możemy jednak wzbogacić te komunikaty o szczegóły i kontekst.

W tym ćwiczeniu będziemy pracować ze wskaźnikiem A1C, który określa odsetek czerwonych krwinek z cukrem przyłączonym do hemoglobiny. Typowe wartości na czczo wynoszą poniżej 5,7% u zdrowych pacjentów, od 5,7% do 6,4% wskazuje na stan przedcukrzycowy, a powyżej 6,5% jest zazwyczaj sygnałem niekontrolowanej cukrzycy.

To ćwiczenie jest częścią kursu

Transakcje i obsługa błędów w PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij blok transakcji, wypełniając instrukcje DO i BEGIN tam, gdzie to konieczne.
  • Dodaj wyjątek, który wstawia 'a1c is typically less than 14' do kolumny context w tabeli errors.
  • Zakończ wyjątek, podając nazwę używanego języka proceduralnego.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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;
Edytuj i uruchom kod