Überprüfen Sie die Lösung für die Aufgabe zum Erstellen und Werfen von Ausnahmen

Abgeschlossen

Der folgende Code ist eine mögliche Lösung für die Herausforderung aus der vorherigen Einheit:

string[][] userEnteredValues = new string[][]
{
            new string[] { "1", "2", "3"},
            new string[] { "1", "two", "3"},
            new string[] { "0", "1", "2"}
};

try
{
    Workflow1(userEnteredValues);
    Console.WriteLine("'Workflow1' completed successfully.");

}
catch (DivideByZeroException ex)
{
    Console.WriteLine("An error occurred during 'Workflow1'.");
    Console.WriteLine(ex.Message);
}

static void Workflow1(string[][] userEnteredValues)
{
    foreach (string[] userEntries in userEnteredValues)
    {
        try
        {
            Process1(userEntries);
            Console.WriteLine("'Process1' completed successfully.");
            Console.WriteLine();
        }
        catch (FormatException ex)
        {
            Console.WriteLine("'Process1' encountered an issue, process aborted.");
            Console.WriteLine(ex.Message);
            Console.WriteLine();
        }
    }
}

static void Process1(String[] userEntries)
{
    int valueEntered;

    foreach (string userValue in userEntries)
    {
        bool integerFormat = int.TryParse(userValue, out valueEntered);

        if (integerFormat == true)
        {
            if (valueEntered != 0)
            {
                checked
                {
                    int calculatedValue = 4 / valueEntered;
                }
            }
            else
            {
                throw new DivideByZeroException("Invalid data. User input values must be non-zero values.");
            }
        }
        else
        {
            throw new FormatException("Invalid data. User input values must be valid integers.");
        }
    }
}

Durch Ausführen dieser Anwendung wird die erforderliche Ausgabe generiert:

'Process1' completed successfully.

'Process1' encountered an issue, process aborted.
Invalid data. User input values must be valid integers.

An error occurred during 'Workflow1'.
Invalid data. User input values must be non-zero values.

Dieser Code ist lediglich eine mögliche Lösung, da es viele Möglichkeiten zum Erstellen und Auslösen von Ausnahmen gibt. Solange Sie die richtigen Ergebnisse gemäß den Regeln der Herausforderung erhalten haben, haben Sie es großartig gemacht!

Wenn Sie es geschafft haben, herzlichen Glückwunsch! Fahren Sie mit der Wissensbeurteilung in der nächsten Lerneinheit fort.

Von Bedeutung

Wenn Sie Probleme beim Abschließen dieser Herausforderung hatten, sollten Sie vielleicht die vorherigen Einheiten überprüfen, bevor Sie fortfahren.