По умолчанию rescue
прерывает StandardError
и все, что от него наследуется.
С Документы :
По умолчанию функция спасения перехватывает только StandardError и его потомков ...
Возникающее исключение, вероятно, не так, поэтому спасение не справляется с этим.
Обычно вы можете выяснить, что использовать в качестве параметра спасения от документов до метода, вызывающего его, но если нет, вы можете использовать
rescue Exception => e
print e.to_s
end
, чтобы увидеть, что такое исключение, затем замените Exception
на это значение.
Более подробная информация в Интернете, но вот фрагмент кода, чтобы распечатать список исключений .