0Pricing
Dart Academy · Aula

throw, try e catch

Detecte e responda a falhas.

throw, try e catch é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 1 de 4. 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 Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.

Quando as coisas dão errado

Os programas enfrentam problemas: entrada inválida, arquivos ausentes e cálculos incorretos. O Dart sinaliza isso com uma exceção, em vez de falhar silenciosamente. 🚨

Lançando uma exceção

O senhor levanta um problema por conta própria com throw. Isso interrompe o fluxo normal exatamente onde ocorre e transfere o controle para um tratador.

throw Exception('Something failed');

O senhor pode lançar qualquer coisa

O Dart permite throw de quase qualquer objeto, até mesmo uma String. Na prática, lance objetos reais de Exception ou Error para manter os tratadores claros.

throw FormatException('Bad number');

Protegendo código arriscado

Coloque o código que pode falhar dentro de um bloco try. O Dart o executa normalmente, mas fica pronto para reagir caso algo seja lançado.

try {
  risky();
}

Capturando o problema

Um bloco catch é executado somente quando o bloco try lança algo. Ele recebe o objeto lançado para que o senhor possa analisá-lo e reagir.

try {
  risky();
} catch (e) {
  print('Caught: $e');
}

O fluxo avança

Quando ocorre um lançamento, o restante do bloco try é ignorado imediatamente. O Dart salta diretamente para o bloco catch correspondente.

Lendo o objeto de erro

A variável em catch (e) contém o que foi lançado. Imprimi-la geralmente exibe uma mensagem útil descrevendo o que falhou.

catch (e) {
  print(e);
}

Obtendo o rastreamento da pilha

Adicione uma segunda variável a catch para obter o rastreamento da pilha. Ele mostra o caminho de chamadas que levou à falha, facilitando a depuração.

catch (e, stack) {
  print(stack);
}

Recupere-se, não trave

O objetivo de capturar uma exceção é a recuperação. Em vez de travar, o senhor pode registrar, tentar novamente ou mostrar uma alternativa amigável ao usuário.

Não capturado significa travamento

Se nada capturar uma exceção lançada, ela se propaga e o programa trava, exibindo um erro no console.

Um exemplo completo

Este é o padrão completo: um throw dentro de try, capturado e tratado com elegância para que a execução continue depois.

try {
  throw Exception('Oops');
} catch (e) {
  print('Handled: $e');
}

Verificação rápida

Qual bloco realmente reage a uma exceção lançada?

Recapitulação

Agora o senhor sinaliza problemas com throw, protege código arriscado em try e se recupera em catch. Esse trio mantém o programa em funcionamento. 🎉

Perguntas Frequentes

A aula “throw, try e catch” é grátis?

Sim — o texto completo de “throw, try e catch” é 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 Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.

O que vou aprender em “throw, try e catch”?

Detecte e responda a falhas. Você pratica Dart 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 Dart Academy?

Nenhuma experiência prévia é necessária. Dart 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 4.

Quanto tempo leva a aula “throw, try e catch”?

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 Dart Academy?

Sim. Cada aula de Dart 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. throw, try e catch
  2. Cláusulas on e tipos de exceção
  3. finally e limpeza garantida
  4. Exceções personalizadas e rethrow
← Voltar para Dart Academy