Recap - Error Handling
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:
- Recebe dois parâmetros: uma string
filePathe um intuserAge - Usa uma instrução using para ler a primeira linha do arquivo em
filePath - Verifica se
userAgeestá entre 18 e 120 (inclusivo) - 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 outra exceção de IO ocorrer, capture-a e imprima "Error reading user data: [exception message]"
- Para qualquer outra exceção, imprima "An unexpected error occurred"
- Retorne o conteúdo do arquivo se bem-sucedido ou "No data" se qualquer exceção ocorrer
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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety