Ruby · Essencial · Inglês · Técnico
begin rescue
Estrutura de tratamento de exceções: o código de risco vai no begin e o rescue captura o erro. Dentro de métodos, o begin pode ser omitido.
Onde usar
Aparece ao lidar com falhas de rede, arquivo ou conversão. Capture classes específicas, não qualquer erro, para não esconder bugs.
Em código
begin
Integer("abc")
rescue ArgumentError => e
puts "invalido: #{e.class}"
end
# => invalido: ArgumentErrorExemplos
Wrap the parsing in a begin rescue block.
Envolva o parsing em um bloco begin rescue.
Rescue only the error you actually expect.
Capture só o erro que você realmente espera.
Cuidado
Evite rescue Exception, que engole até Interrupt e SystemExit; capture a classe mais específica possível.
Sinônimos
tratamento de exceção