Я заметил это странное поведение с блоком begin/rescue
в Ruby, когда я определяю переменную, и возникает исключение, и я пытаюсь вызвать ту переменную, в которой произошло исключение, возвращает nil
.
Например:
begin
print "Enter a number: "
input = Integer(gets.chomp)
sum = input + 5
puts "This is your number plus five: #{sum}"
rescue ArgumentError
puts "#{input}" #This outputs nil
end
Почему блок begin/rescue
работает так, и есть ли способ напечатать переменную без возврата nil?