Recapitulação - Tratamento de Erros
Parte da seção Lógica & Fluxo do Journey de C# da Coddy. Lição 30 de 66.
Desafio
MédioCrie um método chamado processUserData que:
- Aceite dois parâmetros: uma string
filePathe um intuserAge - Use uma instrução using para ler a primeira linha do arquivo em
filePath - Verifique se
userAgeestá entre 18 e 120 (inclusive) - Se a idade for inválida, lance uma exceção personalizada chamada
InvalidUserAgeExceptioncom a mensagem "Age must be between 18 and 120" - Se o arquivo não existir, capture a FileNotFoundException e imprima "User file not found"
- Se ocorrer outra exceção de E/S, capture-a e imprima "Error reading user data: [exception message]"
- Para quaisquer outras exceções, imprima "An unexpected error occurred"
- Retorne o conteúdo do arquivo se a operação for bem-sucedida ou "No data" se ocorrer qualquer exceção
Experimente você mesmo
using System;
using System.IO;
class ProcessUserData
{
// Crie sua exceção personalizada aqui
public static string processUserData(string filePath, int userAge)
{
// Escreva seu código aqui
}
}Todas as lições de Lógica & Fluxo
1Matrizes Multidimensionais
Noções Básicas de Matrizes 2DDeclaração e Inicialização de Matrizes 2DAcesso aos Elementos de Matrizes 2DLoops Aninhados com Matrizes 2DMatrizes IrregularesOperações Comuns com MatrizesRevisão - Multidimensional4Técnicas de Controle de Fluxo
Retornos AntecipadosCláusulas de GuardaInstruções de Salto (goto)Break e ContinueSimplificando Condicionais Aninhadas7Operadores Lógicos Avançados
Avaliação de Curto-CircuitoOperadores Lógicos CondicionaisPrecedência de OperadoresRevisão - Operadores Avançados2Tomada de Decisões Avançada
Múltiplas CondiçõesLógica Booleana ComplexaComparação entre If e SwitchInstruções Switch AninhadasRevisão - Decisões Avançadas5Tratamento de Exceções
Noções básicas de Try-CatchTipos de ExceçãoMúltiplos blocos CatchTrabalhando com ArquivosBloco FinallyUsando Using vs. Try-FinallyExceções PersonalizadasRecapitulação - Tratamento de Erros3Aprimoramentos de Loops
Desempenho de LoopsIteração de Estruturas ComplexasCada Tipo de LoopRefatoração de LoopsRevisão - Loops Otimizados6Tratamento de Nulos
Fundamentos de Referências NulasTipos de Valor AnuláveisPadrões de Verificação de NulosProgramação DefensivaRecapitulação — Segurança contra NulosPratique por conta própria: Compilador de C# online