Existe-t-il une meilleure pratique pour définir des types d'erreur personnalisés dans une bibliothèque Ruby (gem) ou une application Ruby on Rails? Plus précisément:
- Quelle est leur place structurelle dans le projet? Un fichier séparé, en ligne avec la définition de module / classe appropriée, ailleurs?
- Y a-t- il des conventions qui établissent quand à et quand ne pas créer un nouveau type d'erreur?
Différentes bibliothèques ont différentes façons de faire les choses, et je n'ai pas remarqué de vrais modèles. Certaines bibliothèques utilisent toujours des types d'erreur personnalisés tandis que d'autres ne les utilisent pas du tout; certains ont toutes les erreurs d'extension StandardError tandis que d'autres ont des hiérarchies imbriquées; certains ne sont que des définitions de classe vides, d'autres ont toutes sortes d'astuces intelligentes.
Oh, et juste parce que j'ai envie d'appeler ces «types d'erreur» est un peu ambigu, ce que je veux dire, c'est ceci:
class AuthenticationError < StandardError; end
class InvalidUsername < AuthenticationError; end
httparty
: github.com/jnunemaker/httparty/blob