CommencerCommencer gratuitement

Gérer les exceptions

Dans le diaporama, nous avons évoqué l'importance de fournir le bon contexte pour résoudre un problème. Un aspect souvent négligé lors de l’enregistrement des messages est la raison sous-jacente. Les erreurs sont souvent génériques, comme « Bad value » ou « Invalid date ». Pourtant, nous pouvons enrichir ces messages avec des détails et du contexte.

Ici, nous allons travailler avec l’A1C, qui est le pourcentage de globules rouges ayant du sucre fixé à l’hémoglobine. En général, les valeurs à jeun sont inférieures à 5,7 % pour les patients non concernés, de 5,7 % à 6,4 % pour le prédiabète, et au‑delà de 6,5 % c’est généralement un indicateur de diabète non contrôlé.

Cet exercice fait partie du cours

Transactions et gestion des erreurs dans PostgreSQL

Afficher le cours

Instructions

  • Complétez le bloc de transaction en remplissant les instructions DO et BEGIN lorsque c’est nécessaire.
  • Ajoutez une exception qui insère 'a1c is typically less than 14' dans la colonne context de la table errors.
  • Terminez l’exception en précisant le langage procédural utilisé.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

-- 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;
Modifier et exécuter le code