ExpertiDict

Ruby · Essencial · Inglês · Técnico

begin rescue

/bɪˈɡɪn ˈɹɛskju/estrutura de controle

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: ArgumentError

Exemplos

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

Veja também

Todos os termos de Ruby