Mencatat pesan pada pengecualian tertentu
Salah satu penggunaan terbaik dari menangkap beberapa pengecualian spesifik adalah menangani dan mencatat pesan galat yang unik agar Anda memahami dengan tepat mengapa sebuah pengecualian terjadi. Mari terapkan ini pada skenario ketika kedua kondisi galat mungkin terjadi. Kita akan membahas setelah latihan mengapa pesan tertentu yang tertangkap adalah demikian.
Latihan ini adalah bagian dari kursus
Transaksi dan Penanganan Error di PostgreSQL
Petunjuk latihan
- Bangun penangan pengecualian untuk
not_null_violation. - Sisipkan
"failed to insert"sebagaimsg,Glucose can not be null.sebagaidetailke dalam tabelerrorsjika terjadinot_null_violation.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- Make a DO function
DO $$
-- Open a transaction block
___
INSERT INTO patients (a1c, glucose, fasting) values (20, null, TRUE);
-- Catch an Exception
EXCEPTION
-- Make it catch check_violation exception types
WHEN check_violation THEN
-- Insert the proper msg and detail
INSERT INTO errors (msg, detail)
VALUES ('failed to insert', 'A1C is higher than clinically accepted norms.');
-- Make it catch not_null_violation exception types
___ ___ ___
-- Insert the proper msg and detail
INSERT INTO errors (msg, detail)
___ (___, ___);
END$$;
-- Select all the errors recorded
SELECT * FROM errors;