私はRestClient
を使用して、rubyクラスでネットワークコールを行います。私はインターネットに接続していないときはいつでもSocketError
を取得しています。私は救助ブロックを加えて例外を捕まえましたが、私はそうすることができません。RestClientでRubyでSocket Errorを救う方法は?
エラーメッセージは次のとおりです。 SocketError (Failed to open TCP connection to api.something.com:443 (getaddrinfo: Name or service not known))
module MyProject
class Client
def get_object(url, params={})
response = RestClient.get(url, {params: params})
rescue SocketError => e
puts "In Socket errror"
rescue => e
puts (e.class.inspect)
end
end
end
幅広い救助が呼び出され、印刷SocketError
が、なぜ以前rescue SocketError
がトリガされていませんます!
私が紛失しているものがありますか?
私は元、残りのクライアントは例外を処理し、私たちに渡していると思います例外はSocketErrorでした –
これを見てくださいhttps://github.com/rest-client/rest-client/blob/master/lib/restclient/exceptions.rb#L103 –
@WishZone彼らのドキュメントでは、 'SocketError'を含むいくつかのエラーを処理します。まだ実行中であれば、それらを捕まえる方法はありますか? 上記のバックトレースも追加しています。 – aks