Каков наилучший способ спасти исключения из Net:: HTTP?
Исключенные исключения описаны в Rubys socket.c
, например Errno::ETIMEDOUT
, Errno::ECONNRESET
и Errno::ECONNREFUSED
. Базовый класс для всех из них - SystemCallError
, но кажется странным писать код следующим образом: SystemCallError
кажется настолько удаленным от вызова HTTP
:
begin
response = Net::HTTP.get_response(uri)
response.code == "200"
rescue SystemCallError
false
end
Это только я? Есть ли лучший способ справиться с этим после исправления Net::HTTP
для обработки исключений Errno
, которые, вероятно, будут всплывать и инкапсулировать их в родительский HttpRequestException
?