Esiste una procedura ottimale per la definizione di tipi di errore personalizzati in una libreria Ruby (gemma) o Ruby on Rails? In particolare:
- Dove appartengono strutturalmente al progetto? Un file separato, integrato con la relativa definizione modulo / classe, da qualche altra parte?
- Ci sono convenzioni che stabiliscono quando a quando non creare un nuovo tipo di errore?
Librerie diverse hanno modi diversi di fare le cose e non ho notato alcun modello reale. Alcune librerie usano sempre tipi di errore personalizzati mentre altre non le usano affatto; alcuni hanno tutti gli errori che estendono StandardError mentre altri hanno gerarchie nidificate; alcuni sono solo definizioni di classe vuote, altri hanno tutti i tipi di trucchi intelligenti.
Oh, e solo perché ho voglia di chiamare questi "tipi di errore" è un po 'ambiguo, ciò che intendo è questo:
class AuthenticationError < StandardError; end
class InvalidUsername < AuthenticationError; end
httparty
: github.com/jnunemaker/httparty/blob/…