เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การจัดการ Exception

ในสไลด์ เราได้พูดถึงการระบุบริบทที่เหมาะสมเพื่อช่วยในการแก้ไขปัญหา สิ่งหนึ่งที่มักถูกมองข้ามเมื่อบันทึกข้อความแจ้งเตือนคือเหตุผลเชิงลึกที่อยู่เบื้องหลัง บ่อยครั้งข้อผิดพลาดมักมีข้อความกว้างๆ เช่น "Bad value" หรือ "Invalid date" แต่เราสามารถเพิ่มรายละเอียดและบริบทเพื่อทำให้ข้อความเหล่านั้นมีประโยชน์มากขึ้นได้

ในแบบฝึกหัดนี้ เราจะทำงานกับค่า A1C ซึ่งเป็นเปอร์เซ็นต์ของเม็ดเลือดแดงที่มีน้ำตาลเกาะอยู่กับฮีโมโกลบิน โดยทั่วไปค่าระดับน้ำตาลขณะอดอาหารที่ต่ำกว่า 5.7% ถือว่าปกติสำหรับผู้ที่ไม่มีภาวะเสี่ยง ค่าระหว่าง 5.7% ถึง 6.4% บ่งชี้ภาวะก่อนเบาหวาน และค่าที่สูงกว่า 6.5% มักเป็นสัญญาณของโรคเบาหวานที่ยังไม่ได้รับการควบคุม

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Transactions and Error Handling in PostgreSQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติมคำสั่ง DO และ BEGIN ในส่วนที่กำหนดเพื่อให้บล็อก transaction สมบูรณ์
  • เพิ่ม exception ที่แทรกค่า 'a1c is typically less than 14' ลงในคอลัมน์ context ของตาราง errors
  • ปิด exception โดยระบุภาษาเชิงกระบวนการที่ใช้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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;
แก้ไขและรันโค้ด