Zusammenfassung – Fehlerbehandlung
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 30 von 66.
Aufgabe
MittelErstelle eine Methode namens processUserData, die:
- Zwei Parameter übernimmt: einen String
filePathund einen Int-WertuserAge - Eine using-Anweisung verwendet, um die erste Zeile aus der Datei unter
filePathzu lesen - Überprüft, ob
userAgezwischen 18 und 120 (einschließlich) liegt - Wenn das Alter ungültig ist, eine benutzerdefinierte Ausnahme namens
InvalidUserAgeExceptionmit der Nachricht "Age must be between 18 and 120" auslöst - Wenn die Datei nicht existiert, die FileNotFoundException abfängt und "User file not found" ausgibt
- Wenn eine andere IO-Ausnahme auftritt, sie abfängt und "Error reading user data: [exception message]" ausgibt
- Bei allen anderen Ausnahmen "An unexpected error occurred" ausgibt
- Den Dateiinhalt zurückgibt, wenn der Vorgang erfolgreich ist, oder "No data", wenn eine beliebige Ausnahme auftritt
Probier es selbst
using System;
using System.IO;
class ProcessUserData
{
// Erstelle hier deine benutzerdefinierte Exception
public static string processUserData(string filePath, int userAge)
{
// Schreibe hier deinen Code
}
}Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler