Cláusulas on e tipos de exceção
Capture erros específicos com precisão.
Cláusulas on e tipos de exceção é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 2 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.
Nem todos os erros são iguais
Um erro de arquivo e um erro de formato são problemas diferentes. O Dart permite capturá-los pelo tipo, para que cada um receba a resposta adequada. 🎯
A palavra-chave on
Use on para capturar apenas um tipo de exceção. O bloco é executado somente quando esse tipo específico de erro é lançado.
try {
parse();
} on FormatException {
print('Bad format');
}Mantendo o objeto também
Combine on com catch para filtrar pelo tipo e ainda obter o objeto de erro com os detalhes da mensagem.
on FormatException catch (e) {
print(e.message);
}A ordem importa
O Dart verifica as cláusulas on de cima para baixo e usa a primeira correspondência. Coloque os tipos específicos antes dos gerais, ou os específicos nunca serão executados.
Várias cláusulas on
Encadeie várias cláusulas on em um único try. Cada uma trata um tipo diferente de exceção com sua própria lógica adequada.
try {
work();
} on FormatException {
} on RangeError {
}Um catch geral no final
Um catch simples, sem tipo, captura tudo o que restar. Coloque-o por último como rede de segurança, depois das cláusulas tipadas.
} on FormatException {
} catch (e) {
print('Other: $e');
}Exception versus Error
O Dart divide as falhas em Exception, para problemas recuperáveis, e Error, para erros de programação que o senhor deve corrigir, não capturar.
Tipos integrados comuns
O senhor encontrará FormatException, RangeError, StateError e ArgumentError. Conhecê-los permite capturar as falhas com precisão.
Capturando um supertipo
Uma cláusula on Exception corresponde a qualquer subtipo de Exception. Use um tipo abrangente quando vários erros relacionados compartilharem um único tratador.
try {
go();
} on Exception catch (e) {
log(e);
}Por que filtrar por tipo ajuda
Tratadores tipados mantêm o código claro: o senhor reage a um arquivo ausente de maneira diferente de uma entrada inválida, em vez de deixar um único catch tentar adivinhar.
Reunindo tudo
Isto mostra o fluxo do específico para o geral: primeiro uma cláusula on tipada e, depois, um catch geral para tratar todo o restante com segurança.
try {
run();
} on FormatException catch (e) {
print(e);
} catch (e) {
print('Unknown');
}Verificação rápida
Como capturar apenas um tipo específico de exceção?
Recapitulação
Agora o senhor pode direcionar erros com on, ordenar as cláusulas do específico para o geral e adicionar uma rede catch geral. Tratamento preciso e código limpo. ✅
Aprenda Dart com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Cláusulas on e tipos de exceção” é grátis?
Sim — o texto completo de “Cláusulas on e tipos de exceção” é 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 “Cláusulas on e tipos de exceção”?
Capture erros específicos com precisão. 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 2 de 4.
Quanto tempo leva a aula “Cláusulas on e tipos de exceção”?
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
- throw, try e catch
- Cláusulas on e tipos de exceção
- finally e limpeza garantida
- Exceções personalizadas e rethrow