Gibt es eine bewährte Methode zum Definieren benutzerdefinierter Fehlertypen in einer Ruby-Bibliothek (Gem) oder einer Ruby on Rails-Anwendung? Speziell:
- Wo gehören sie strukturell in das Projekt? Eine separate Datei, die mit der entsprechenden Modul- / Klassendefinition versehen ist, woanders?
- Gibt es Konventionen , die festlegen , wann zu und wenn nicht zu einem neuen Fehlertyp erstellen?
Verschiedene Bibliotheken haben unterschiedliche Methoden, und ich habe keine wirklichen Muster bemerkt. Einige Bibliotheken verwenden immer benutzerdefinierte Fehlertypen, während andere diese überhaupt nicht verwenden. Einige haben alle Fehler, die StandardError erweitern, während andere verschachtelte Hierarchien haben. Einige sind nur leere Klassendefinitionen, andere haben alle möglichen cleveren Tricks.
Oh, und nur weil ich das Gefühl habe, diese "Fehlertypen" zu nennen, ist das mehrdeutig. Ich meine Folgendes:
class AuthenticationError < StandardError; end
class InvalidUsername < AuthenticationError; end
httparty
: github.com/jnunemaker/httparty/blob/…