в нескольких местах в моем текущем коде я делаю это (или что-то вроде этого, например, для проверки файла на Amazon S3):
def
success_flag = open(the_url, "UserAgent" => "Ruby-OpenURI").read
... do something else...
return success_flag
end
если open () или read () завершаются неудачно по ЛЮБОЙ причине, я хочу корректно вернуть false, а не выдавать исключение. Например, если приложение работает локально и отсутствует подключение к Интернету, я не хочу, чтобы приложение выдавало исключение «хост недоступен»
Я предполагаю, что хочу использовать метод begin / do / rescue, но я не уверен, как это сделать, и, в частности, я не уверен, нужно ли мне отделять «open» от «read» в Для того, чтобы можно было поймать обе ошибки. Например, если я оставлю open (url) .read и open - это то, что не получится, поймает ли это начало / do / rescue, или будет сгенерировано исключение, если «open» завершится неудачно, потому что применяется begin / do / rescue только читать?