Geniş İstisna Yakalama (ARCH6153)
Anahtar ruby.logging.broad-rescue · Önem info · Kategori logging
En genel istisna tipini (Exception, StandardError) yakalamak, beklenmeyen ve ilgisiz hataları da maskeler. Bu, gerçek sorunların gizlenmesine yol açar.
Hatalı
Bölüm başlığı “Hatalı”def process(order) charge(order)rescue Exception => e Rails.logger.error(e.message)enddef process(order) charge(order)rescue PaymentError, Net::TimeoutError => e Rails.logger.error("Ödeme başarısız: #{order.id}", exception: e)endDüzeltme
Bölüm başlığı “Düzeltme”Yalnızca işleyebileceğiniz belirli istisna tiplerini yakalayın; Exception/StandardError yerine alan istisnalarını kullanın.