Есть ли лучший способ определения пользовательских типов ошибок в библиотеке Ruby (gem) или приложении Ruby on Rails? В частности:
- Где они принадлежат структурно в проекте? Отдельный файл, выделенный соответствующим определением модуля / класса, где-нибудь еще?
- Существует ли какое - либо соглашение , которые устанавливают , когда к и когда не создать новый тип ошибки?
В разных библиотеках разные способы работы, и я не заметил никаких реальных шаблонов. Некоторые библиотеки всегда используют пользовательские типы ошибок, в то время как другие не используют их вообще; у некоторых есть все ошибки, расширяющие StandardError, в то время как у других есть вложенные иерархии; некоторые - просто пустые определения классов, другие имеют все виды умных уловок.
Да, и просто потому, что я чувствую, что называть эти «типы ошибок», довольно двусмысленно, я имею в виду следующее:
class AuthenticationError < StandardError; end
class InvalidUsername < AuthenticationError; end
httparty
: github.com/jnunemaker/httparty/blob/…