Menu
Coddy logo textTech

Defensive Programmierung

Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 34 von 66.

Defensive Programmierung ist eine Technik, die hilft, durch Nullreferenzen verursachte Fehler zu verhindern. Dabei werden Nullwerte überprüft, bevor versucht wird, Objekte zu verwenden.

Prüfe auf null, bevor du ein Objekt verwendest:

string name = GetNameFromSomewhere();

// Defensive Prüfung
if (name == null)
{
    // Behandle den null-Fall
    name = "Default Name";
}

// Jetzt ist es sicher, name zu verwenden
Console.WriteLine(name.ToUpper());

Parameter in Methoden validieren:

public void ProcessOrder(Order order)
{
    // Defensive Prüfung auf null-Parameter
    if (order == null)
    {
        Console.WriteLine("Error: Order cannot be null");
        return;
    }
    
    // Nun sicher, die Bestellung zu verarbeiten
    Console.WriteLine("Processing order: " + order.Id);
}

Verwende den Operator für bedingten Zugriff (?.) für übersichtlichere null-Prüfungen:

Customer customer = GetCustomerFromSomewhere();

// Anstatt:
// string city = null;
// if (customer != null && customer.Address != null)
// {
//     city = customer.Address.City;
// }

// Verwende dies:
string city = customer?.Address?.City;
challenge icon

Aufgabe

Einfach

Erstelle eine Methode namens ProcessUserData, die einen Zeichenkettenparameter userData akzeptiert. Die Methode sollte:

  1. Prüfen, ob userData null ist – falls ja, "Error: User data is null" ausgeben und zurückkehren.
  2. Prüfen, ob userData leer ist – falls ja, "Error: User data is empty" ausgeben und zurückkehren.
  3. Wenn die Daten gültig sind, sie in Großbuchstaben umwandeln und "Processing: [UPPERCASE_DATA]" ausgeben.

Probier es selbst

using System;

class ProcessUserData
{
    public static void processUserData(string userData)
    {
        // Hinweis: der String "null" sollte als tatsächlicher Nullwert behandelt werden
        
        // Schreibe deinen Code hier
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-C#-Compiler