about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/mogilefs/http_file.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/mogilefs/http_file.rb b/lib/mogilefs/http_file.rb
index 8784f68..7871940 100644
--- a/lib/mogilefs/http_file.rb
+++ b/lib/mogilefs/http_file.rb
@@ -105,7 +105,13 @@ class MogileFS::HTTPFile < StringIO
       if @big_io.respond_to?(:stat)
         stat = @big_io.stat
       elsif String === @big_io || @big_io.respond_to?(:to_path)
-        file = File.open(@big_io)
+        begin
+          file = File.open(@big_io)
+        rescue => e
+          msg = "Failed to open input (#{@big_io.inspect}): " \
+                "#{e.message} (#{e.class})"
+          raise NonRetryableError, msg, e.backtrace
+        end
         stat = file.stat
       elsif @big_io.respond_to?(:size)
         size = @big_io.size