У меня есть следующие reques:Выполнение потока в Рубине
Поднимите обработчик исключений KasayaError в методе халата, если тип аргумента не является String «кашая». Он должен вернуться «дхармагуптака в кашая Robe» в противном случае
Я выполнил следующую функцию:
def robe(type)
if type != 'Kasaya'
raise KasayaError("Invalid")
end
return "Dharmaguptaka's Kasaya Robe"
end
Но когда я запустил его на RSpec, я получил следующие результаты:
должен вернуться " дхармагуптака в кашая Robe 'если тип '' кашая NoMethodError неопределенный метод `KasayaError' для #RSpec :: Основной :: ExampleGroup :: Nested_157: 0x000000029b1598
Мой вопрос, почему код сломался?
На мой взгляд, если параметр Kasaya, оператор возврата будет выполнен, чтобы вернуть результат функции. Я прав?
«Тип», который вы отправляете в функцию, не является «Kasaya», и он пытается создать исключение, используя класс, который не определен. Где вы определяете «KasayaError»? – meagar
OK Я понимаю –
@meagar: Нет, он пытается создать исключение, вызвав метод 'KasayaError', здесь нет классов. –