O que são Exceções?
Parte da seção Lógica & Fluxo do Journey de Dart da Coddy — lição 38 de 65.
Quando você executa um programa, as coisas nem sempre saem como planejado. Às vezes, seu código encontra situações inesperadas que não consegue lidar normalmente - estas são chamadas de exceções.
Uma exceção é um erro de tempo de execução que ocorre enquanto seu programa está sendo executado. Ao contrário dos erros de sintaxe que impedem o seu código de ser executado, as exceções acontecem quando o seu programa já está em execução, mas encontra um problema que não sabe como resolver.
Situações comuns que causam exceções no Dart incluem tentar converter um texto inválido em um número (o que cria uma FormatException), acessar um elemento de lista que não existe ou dividir por zero. Quando uma exceção ocorre e não é tratada adequadamente, todo o seu programa irá travar e parar de funcionar.
A principal percepção é que as exceções são previsíveis - você pode antecipar onde elas podem ocorrer e preparar seu código para lidar com elas de forma elegante. Isso evita falhas e permite que seu programa continue rodando mesmo quando algo dá errado.
Folha de consulta
Uma exceção é um erro de tempo de execução que ocorre enquanto seu programa está sendo executado, ao contrário de erros de sintaxe que impedem o código de ser executado de forma alguma.
Exceções comuns em Dart incluem:
FormatException- tentar converter um texto inválido em um número- Acessar um elemento de lista que não existe
- Dividir por zero
Quando uma exceção ocorre e não é tratada adequadamente, todo o seu programa irá travar e parar de funcionar. As exceções são previsíveis e podem ser tratadas de forma elegante para evitar falhas.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Manipulação Avançada de Listas
Propriedades de Lista: first & lastEstado da Lista: isEmpty & isNotEmptyInvertendo uma ListaAdicionando a uma Lista: insertRemoção em Listas: removeWhereBuscando em uma Lista: indexOfOrdenando uma ListaEmbaralhando uma ListaRecapitulação - Organizador de Listas4Manipulação Avançada de Mapas
Iterando sobre um MapVerificando Chaves e ValoresPropriedades do Map: keys & valuesAdição Condicional: putIfAbsentRemovendo Entradas de um MapMaps AninhadosRecapitulação - Atualização de Inventário2Operações Funcionais em Listas
Transformando com 'map'Filtrando com 'where'Usando '.toList()'Verificando Condições com 'any'Condições com 'every'Encontrando com 'firstWhere'Recapitulação - Filtragem de Dados5Projeto: Cálculo de Carrinho de Compras
Configuração do ProjetoAdicionando Itens ao Carrinho3Conjuntos
O que é um Conjunto?Criando um ConjuntoAdicionando e Removendo de ConjuntosVerificando Elementos em um ConjuntoConvertendo uma Lista para um ConjuntoUnião de ConjuntosInterseção de ConjuntosDiferença de ConjuntosRecapitulação - Lista de Convidados Únicos6Tratamento de Erros Básico
O que são Exceções?O Bloco 'try-catch'Capturando Exceções com 'on'O Bloco 'finally'Lançando uma ExceçãoRecapitulação - Divisão Segura