Я пытаюсь понять исключения в Ruby, но я немного смущен. Учебное пособие, которое я использую, говорит, что если возникает исключение, которое не соответствует ни одному из исключений, идентифицированных операциями спасения, вы можете использовать "else", чтобы поймать его:
begin
# -
rescue OneTypeOfException
# -
rescue AnotherTypeOfException
# -
else
# Other exceptions
ensure
# Always will be executed
end
Тем не менее, я также видел позже в учебнике "Спасение", которое используется без указанного исключения:
begin
file = open("/unexistant_file")
if file
puts "File opened successfully"
end
rescue
file = STDIN
end
print file, "==", STDIN, "\n"
Если вы можете это сделать, тогда мне нужно использовать еще? Или я могу просто использовать общее спасение в конце, как это?
begin
# -
rescue OneTypeOfException
# -
rescue AnotherTypeOfException
# -
rescue
# Other exceptions
ensure
# Always will be executed
end