Riepilogo - gestione degli errori
Fa parte della sezione Logica e flusso del percorso C# di Coddy. Lezione 30 di 66.
Sfida
MedioCrea un metodo chiamato processUserData che:
- Accetta due parametri: una stringa
filePathe un intuserAge - Usa un'istruzione using per leggere la prima riga dal file in
filePath - Verifica che
userAgesia compreso tra 18 e 120 (inclusi) - Se l'età non è valida, genera un'eccezione personalizzata chiamata
InvalidUserAgeExceptioncon il messaggio "Age must be between 18 and 120" - Se il file non esiste, intercetta l'eccezione FileNotFoundException e stampa "User file not found"
- Se si verifica un'altra eccezione IO, intercettala e stampa "Error reading user data: [exception message]"
- Per qualsiasi altra eccezione, stampa "An unexpected error occurred"
- Restituisce il contenuto del file in caso di successo oppure "No data" se si verifica un'eccezione
Provalo tu
using System;
using System.IO;
class ProcessUserData
{
// Crea qui la tua eccezione personalizzata
public static string processUserData(string filePath, int userAge)
{
// Scrivi qui il tuo codice
}
}Tutte le lezioni di Logica e flusso
1Array multidimensionali
Fondamenti degli array 2DDichiarare e inizializzare array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DArray irregolariOperazioni comuni sulle matriciRipasso: array multidimensionali4Tecniche di controllo del flusso
Uscite anticipateClausole di guardiaIstruzioni di salto (goto)Break e continueAppiattire le condizioni annidate2Decisioni avanzate
Condizioni multipleLogica booleana complessaConfronto tra if e switchIstruzioni switch annidateRiepilogo - decisioni avanzate5Gestione delle eccezioni
Nozioni di base su try-catchTipi di eccezioneBlocchi catch multipliLavorare con i fileBlocco finallyUsing vs. try-finallyEccezioni personalizzateRiepilogo - gestione degli errori3Miglioramenti dei cicli
Prestazioni dei cicliIterare strutture complesseOgni tipo di cicloRifattorizzare i cicliRiepilogo - Cicli ottimizzati6Gestione dei valori null
Fondamenti dei riferimenti nullTipi valore nullableSchemi di controllo dei valori nullProgrammazione difensivaRiepilogo: sicurezza rispetto ai valori nullEsercitati da solo: Compilatore C# online