Elegant way to silently ignore a Ruby exception

I was working on a small hobby project and wanted to ignore some of the Exceptions that were raised.

The first version of the code that I wrote was something similar to:

def ignore_exception  
   begin
     yield  
   rescue Exception
   end
end  

and using

ignore_exception { puts "Ignoring Exception"; raise Exception; puts "This is Ignored" }  

After a bit of more googling and research, I came across another clean solution provided by ActiveSupport

suppress(Exception) do  
   # dangerous code here
end  

PS: Don't ask me why I wanted to do this, as I mentioned this was just a hobby project and will/should never go out into a production code.

Ref: http://api.rubyonrails.org/classes/Kernel.html#method-i-suppress

comments powered by Disqus