MulaiMulai sekarang secara gratis

Capturing specific exceptions

Let's build a DO function that captures when glucose is set to null, and logs a message stating explicitly that Glucose can not be null.

Latihan ini adalah bagian dari kursus

Transactions and Error Handling in PostgreSQL

Lihat Kursus

Petunjuk latihan

  • Inside of the BEGIN block of the DO function, INSERT into patients the row (a1c=7.5, glucose=null, and fasting= TRUE).
  • Add a not_null_violation exception that inserts "Glucose can not be null." in the detail column of errors in case of an error.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

-- Make a DO function
DO $$
-- Open a transaction block
BEGIN
    INSERT INTO patients (a1c, glucose, fasting) 
    VALUES (7.5, ___, TRUE);
-- Catch an Exception                                                               
EXCEPTION
	-- Make it catch not_null_constraint exception types
    WHEN ___ ___
    	-- Insert the proper msg and detail
       INSERT INTO errors (___, detail) 
       VALUES ('failed to insert', '___');
END$$;
                                                                     
-- Select all the errors recorded
SELECT * FROM errors;
Edit dan Jalankan Kode