Это называется встроенным rescue
. Если t = Integer(gets.chomp)
вызывает любое исключение, унаследованное от StandardError
, оно будет спасено, и вместо него будет возвращена пустая строка. Вы можете думать об этом так:
begin
do_something
rescue
''
end
Проблема с этим подходом заключается в том, что вы не можете указать классы исключений для восстановления, поэтому вы можете случайно замаскировать ошибки, которые вы не ожидали, например, NoMethodError
повышается при опечатке chomp
метод:
Integer(gets.chmp) rescue ''
#=> ""