try - standarderror ruby
¿Cuál es la forma más corta de ignorar silenciosamente una excepción de Ruby? (3)
Estoy buscando algo como esto:
raise Exception rescue nil
Pero el camino más corto que he encontrado es este:
begin
raise Exception
rescue Exception
end
Esto es proporcionado por ActiveSupport:
suppress(Exception) do
# dangerous code here
end
http://api.rubyonrails.org/classes/Kernel.html#method-i-suppress
Solo envuelve el lado izquierdo entre paréntesis:
(raise RuntimeError, "foo") rescue ''yahoo''
Tenga en cuenta que el rescate solo ocurrirá si la excepción es un error estándar o una subclase de los mismos. Consulte http://ruby.runpaint.org/exceptions para obtener más información.
def ignore_exception
begin
yield
rescue Exception
end
end
Ahora escribe tu código como
ignore_exception { puts "Ignoring Exception"; raise Exception; puts "This is Ignored" }