Список исключений не содержит таких вещей.
nil - это объект, и элементы можно проверить, чтобы убедиться, что они не равны nil.
result = Base.find(blah)
result.nil?
Вызов метода по nil, которого нет у nil (объекта), должен дать вам исключение NoMethodError.
result = Base.find(blah) #returning no result
result.my_advanced_functionality(42)
Поскольку результат равен nil, а объект nil не определяет функцию my_advanced_functionality, вы получите NoMethodError
Одна из вещей, которые я вижу, когда узнаю, - «Вы по ошибке назвали id для nil, что будет 4» (потому что id объекта nil - 4)
В heirarchy исключения есть исключение ArgumentError, которое я никогда не использовал, но похоже, что оно может вам пригодиться.