Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

Curso Dart: Lidando com erros, exceções e null safety - Aula : Utilizando Try-on-catch-finally - Atividade 8 : Manipulação de exceções.

Vamos observar o comportamento do tratamento de exceções em Dart :

Pontos importantes sobre try / on / catch / finally em Dart:

  • O bloco finally sempre é executado, independentemente de ter ocorrido exceção ou não. Ele serve justamente para garantir execução final (como liberar recursos, fechar conexões etc.).

  • O bloco on FormatException captura especificamente exceções do tipo FormatException.

  • O bloco on Exception captura qualquer outra exceção que seja uma subclasse de Exception (mais genérico).

  • A execução não continua dentro do try após uma exceção; ela é desviada para o bloco correspondente de tratamento.

  • A ordem dos blocos on importa: Dart verifica de cima para baixo e executa o primeiro que corresponde ao tipo da exceção.

Avaliando as alternativas :

A - "O bloco finally será executado apenas se nenhuma exceção for lançada..." → Incorreto. O finally sempre é executado, mesmo em caso de erro.

B - "Esta estrutura garantirá que apenas erros de formatação sejam capturados..."
Incorreto. Ela captura FormatException especificamente, mas também qualquer outra Exception no segundo bloco.

C - "Caso ocorra uma exceção de formatação durante a chamada processData(data), a execução será interrompida, e a 'mensagem de erro' específica ou genérica será exibida."
Correto. Se for FormatException, cai no primeiro on. Se for outro tipo de Exception, cai no segundo. Em ambos os casos, o fluxo do try é interrompido e o finally roda depois.

D - "Se a primeira chamada fetchDataFromAPI() lançar uma exceção genérica, o bloco on FormatException capturará a exceção..." Incorreto. Uma exceção genérica não é capturada pelo on FormatException, mas sim pelo on Exception.

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Estudante! Como vai?

Agradeço por compartilhar.

Gostei da sua análise, pois você explicou bem como o fluxo muda conforme o tipo da exceção e destacou pontos importantes sobre ordem dos blocos e execução do finally. Sua interpretação das alternativas também está coerente com o comportamento do try/on/catch/finally em Dart. Continue evoluindo seu raciocínio dessa forma.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!