Ruby Exception или Ошибка? - PullRequest
       10

Ruby Exception или Ошибка?

15 голосов
/ 07 июня 2010

Я заметил, что в иерархии исключений Ruby есть «ошибки», такие как ArgumentError, и есть «исключения», такие как SignalException. Есть ли определенная практика именования исключений? заранее спасибо, ell.

Ответы [ 2 ]

10 голосов
/ 07 июня 2010

Глядя на список исключений Ruby , SignalException является единственным именем с именем *Exception; все остальное XXXError (кроме SystemExit и fatal). Во всяком случае, практика заключается в том, чтобы назвать ваше исключение FooError. У меня проблемы с поиском какой-либо конкретной причины, по которой SignalException не назван SignalError.

5 голосов
/ 27 июля 2010

Соглашение - Module::#{Type}Error для всего, что вызвано вашим приложением (например, http://weblog.jamisbuck.org/2007/3/7/raising-the-right-exception). Обработка исключений в Ruby не стратифицируется так же, как в Java, поскольку модель исключений отличается на уровне языка.

Из того, что я видел, условные обозначения немного шире применяются к расширениям C / FFI / JNA.

...