SORU
5 Mart 2011, CUMARTESİ


Yakut nerede ve/veya Raylar özel hata türlerini tanımlamak için?

Ruby on Rails Kütüphanesi (gem) ya da Yakut bir uygulama olarak tanımlayan özel hata türleri için en iyi yöntem var mı? Özellikle:

  1. Nereye projede yapısal ait? Ayrı bir dosya, ilgili modül/sınıf tanımı ile inlined, başka bir yerde?
  2. Herhangi bir kuralları o zaman kurmak vardıriçinve ne zamandeğilyeni bir hata türü yaratmak?

Farklı kütüphaneler şeyler yapmanın farklı yolları var, ve gerçek bir desen fark etmedim. Bazı kütüphaneler her zaman özel hata türleri Diğerleri yok kullan hepsini; tüm hataları uzanan StandardError Diğerleri iç içe geçmiş hiyerarşileri; bazıları sadece boş sınıf tanımları, diğer her türlü gösterişin.

Oh, ve bu görevimmiş gibi hissediyorum çünkü sadece "hata türleri şunu demek istiyorum" bir nevi belirsiz,:

class AuthenticationError < StandardError; end
class InvalidUsername < AuthenticationError; end

CEVAP
20 Mart 2011, Pazar


Taşlar İçin

Bu şekilde özel durumları tanımlayan birçok kez gördüm:

gem_dir//gem_name/istisnalar lib.rb

tanımlanmıştır:

module GemName

  class AuthenticationError < StandardError; end
  class InvalidUsername < AuthenticationError; end

end

bunun bir örneği httparty Bu gibi bir şey olurdu

Ruby on Rails için

Bir dosya istisnaları adı altında lib/ klasörüne koydum.bu gibi bir şey olurdu rb,:

module Exceptions
  class AuthenticationError < StandardError; end
  class InvalidUsername < AuthenticationError; end
end

ve bu gibi kullanabilirsiniz:

raise Exceptions::InvalidUsername

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • case LianLi

    case LianLi

    28 Mayıs 2010
  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009