BaşlayınÜcretsiz Başlayın

İstisnaları yönetme

Slaytlarda, çözüm için doğru bağlam sağlamayı konuştuk. Mesajlar kaydedilirken sıklıkla gözden kaçan bir alan da bu mesajların arkasındaki daha derin gerekçedir. Çoğu zaman hatalar "Kötü değer" veya "Geçersiz tarih" gibi geneldir. Ancak bu mesajları zenginleştirmek için ayrıntıları ve bağlamı kullanabiliriz.

Burada A1C ile çalışacağız; bu, kırmızı kan hücrelerinin hemoglobine şeker bağlı olan yüzdesidir. Genellikle, etkilenmemiş hastalarda açlık aralıkları %5,7'nin altındadır; prediyabet için %5,7 ile %6,4 arasındadır ve %6,5'in üzeri genellikle yönetilemeyen diyabetin bir göstergesidir.

Bu egzersiz

PostgreSQL'de İşlemler (Transaction) ve Hata Yönetimi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Uygun yerlerde DO ve BEGIN ifadelerini doldurarak işlem bloğunu tamamla.
  • errors tablosunun context sütununa 'a1c genellikle 14'ten küçüktür' ifadesini ekleyen bir istisna ekle.
  • Kullanılan yordam dilini belirterek istisnayı sonlandır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- 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;
Kodu Düzenle ve Çalıştır