İçeriğe geç

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.

def process(order)
charge(order)
rescue Exception => e
Rails.logger.error(e.message)
end
def process(order)
charge(order)
rescue PaymentError, Net::TimeoutError => e
Rails.logger.error("Ödeme başarısız: #{order.id}", exception: e)
end

Yalnızca işleyebileceğiniz belirli istisna tiplerini yakalayın; Exception/StandardError yerine alan istisnalarını kullanın.