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

  • Adam Outler

    Adam Outler

    19 EKİM 2006
  • DudeFromUkraine

    DudeFromUkra

    7 Ocak 2008
  • TouchePro

    TouchePro

    27 EYLÜL 2007