Como pegar a classe Errno :: ECONNRESET no "case when"?
Minha aplicação (Ruby 1.9.2) pode gerar diferentes exceções, incluindo interrupções na conexão com a rede. Eurescue Exception => e
, então façacase/when
lidar com eles de maneiras diferentes, mas vários erros passam pelos meus casos diretamente paraelse
.
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
Impressões:
Errno::ECONNRESET
3