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, kursun bir parçasıdır

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

Kursa Göz Atın

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ı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

-- 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