Menangani pengecualian
Dalam slide, kita membahas tentang memberikan konteks yang tepat untuk resolusi. Salah satu hal yang sering terlewat saat mencatat pesan adalah alasan yang lebih mendalam di baliknya. Sering kali kesalahan bersifat umum seperti "Bad value" atau "Invalid date." Namun, kita dapat menggunakan detail dan konteks untuk memperkaya pesan-pesan tersebut.
Di sini kita akan bekerja dengan A1C, yaitu persentase sel darah merah yang memiliki gula menempel pada hemoglobin. Biasanya, kisaran puasa berada di bawah 5,7% untuk pasien yang tidak terdampak, 5,7% hingga 6,4% untuk pradiabetes, dan di atas 6,5% umumnya menunjukkan diabetes yang tidak terkelola.
Latihan ini adalah bagian dari kursus
Transaksi dan Penanganan Error di PostgreSQL
Petunjuk latihan
- Lengkapi blok transaksi dengan mengisi pernyataan
DOdanBEGINsesuai kebutuhan. - Tambahkan sebuah pengecualian yang menyisipkan
'a1c is typically less than 14'ke kolomcontextpada tabelerrors. - Akhiri pengecualian dengan menentukan bahasa prosedural yang digunakan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- 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;