Я заметил, что в иерархии исключений Ruby есть «ошибки», такие как ArgumentError, и есть «исключения», такие как SignalException. Есть ли определенная практика именования исключений? заранее спасибо, ell.
Глядя на список исключений Ruby , SignalException является единственным именем с именем *Exception; все остальное XXXError (кроме SystemExit и fatal). Во всяком случае, практика заключается в том, чтобы назвать ваше исключение FooError. У меня проблемы с поиском какой-либо конкретной причины, по которой SignalException не назван SignalError.
SignalException
*Exception
XXXError
SystemExit
fatal
FooError
SignalError
Соглашение - Module::#{Type}Error для всего, что вызвано вашим приложением (например, http://weblog.jamisbuck.org/2007/3/7/raising-the-right-exception). Обработка исключений в Ruby не стратифицируется так же, как в Java, поскольку модель исключений отличается на уровне языка.
Module::#{Type}Error
Из того, что я видел, условные обозначения немного шире применяются к расширениям C / FFI / JNA.