0Pricing
Ruby Academy · Aula

Tratamento de erros com begin e rescue

Evite falhas capturando e tratando erros com tratamento de exceções.

Tratamento de erros com begin e rescue é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 3 aulas no total.

Tratamento de erros com blocos de início e recuperação

Tratamento de erros com begin e rescue

Erros são inevitáveis na programação, mas Ruby fornece mecanismos para tratá-los de maneira adequada.

Nesta lição, você aprenderá a usar begin e rescue para capturar e tratar exceções.

Tratamento de erros com begin e rescue — ilustração 1

Usando blocos de início e recuperação

Usando begin e rescue

Use begin e rescue para capturar e tratar erros.

begin
  puts 10 / 0
rescue ZeroDivisionError
  puts 'Cannot divide by zero!'
end

Tratando vários tipos de erro

Tratando vários tipos de erro

Você pode capturar diferentes tipos de erro usando vários blocos rescue.

begin
  num = Integer('hello')
rescue ZeroDivisionError
  puts 'Cannot divide by zero!'
rescue ArgumentError
  puts 'Invalid number format!'
end

Acessando o objeto de exceção

Acessando o objeto de exceção

Use rescue => e para acessar o objeto de exceção.

begin
  puts 10 / 0
rescue ZeroDivisionError => e
  puts "Error: #{e.message}"
end

Usando a garantia de execução

Usando ensure

O bloco ensure sempre é executado, independentemente de ter ocorrido uma exceção.

begin
  puts 10 / 0
rescue ZeroDivisionError
  puts 'Cannot divide by zero!'
ensure
  puts 'This code runs no matter what.'
end

Usando a repetição

Usando retry

A palavra-chave retry reinicia o bloco begin desde o início.

attempt = 0
begin
  attempt += 1
  puts 10 / 0
rescue ZeroDivisionError
  puts 'Attempting again...'
  retry if attempt < 2
end

Registrando erros

Registrando erros

Registre os erros em um arquivo em vez de exibi-los ao usuário.

begin
  puts 10 / 0
rescue ZeroDivisionError => e
  File.open('error.log', 'a') { |f| f.puts e.message }
end

Exibindo mensagens de erro personalizadas

Exibindo mensagens de erro personalizadas

Forneça mensagens de erro fáceis de entender em vez de exceções brutas.

begin
  num = Integer('hello')
rescue ArgumentError
  puts 'Oops! That was not a valid number.'
end

Parabéns!

Parabéns!

Você aprendeu a tratar erros usando begin e rescue.

Em seguida, você explorará como gerar e personalizar exceções.

Tratamento de erros com begin e rescue — ilustração 10

Perguntas Frequentes

A aula “Tratamento de erros com begin e rescue” é grátis?

Sim — o texto completo de “Tratamento de erros com begin e rescue” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 3 aulas no total.

O que vou aprender em “Tratamento de erros com begin e rescue”?

Evite falhas capturando e tratando erros com tratamento de exceções. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ruby Academy?

Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Tratamento de erros com begin e rescue”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ruby Academy?

Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Tratamento de erros com begin e rescue
  2. Lançamento e personalização de exceções
  3. Técnicas de depuração
← Voltar para Ruby Academy