Mi aplicación (Ruby 1.9.2) puede generar excepciones diferentes, incluidos los saltos de conexión a la red. I rescue Exception => e
, luego haga case/when
para manejarlos de diferentes maneras, pero varios errores pasan por mis casos directamente al else
.Cómo atrapar la clase Errno :: ECONNRESET en "case when"?
rescue Exception => e
p e.class
case e.class
when Errno::ECONNRESET
p 1
when Errno::ECONNRESET,Errno::ECONNABORTED,Errno::ETIMEDOUT
p 2
else
p 3
end
end
Lienzo:
Errno::ECONNRESET
3
Rescata tus clases de error en un bloque de rescate múltiple y luego puedes evitar el enunciado de caso por completo. –