Überprüfen der Lösung für die Aufgabe zum Abfangen bestimmter Ausnahmen
Der folgende Code ist eine mögliche Lösung für die Herausforderung aus der vorherigen Einheit:
checked
{
try
{
int num1 = int.MaxValue;
int num2 = int.MaxValue;
int result = num1 + num2;
Console.WriteLine("Result: " + result);
}
catch (OverflowException ex)
{
Console.WriteLine("Error: The number is too large to be represented as an integer. " + ex.Message);
}
}
try
{
string? str = null;
int length = str.Length;
Console.WriteLine("String Length: " + length);
}
catch (NullReferenceException ex)
{
Console.WriteLine("Error: The reference is null. " + ex.Message);
}
try
{
int[] numbers = new int[5];
numbers[5] = 10;
Console.WriteLine("Number at index 5: " + numbers[5]);
}
catch (IndexOutOfRangeException ex)
{
Console.WriteLine("Error: Index out of range. " + ex.Message);
}
try
{
int num3 = 10;
int num4 = 0;
int result2 = num3 / num4;
Console.WriteLine("Result: " + result2);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Error: Cannot divide by zero. " + ex.Message);
}
Console.WriteLine("Exiting program.");
Wenn Sie diese Anwendung ausführen, werden die erforderlichen Meldungen in der Konsole ausgegeben:
Error: The number is too large to be represented as an integer. Arithmetic operation resulted in an overflow.
Error: The reference is null. Object reference not set to an instance of an object.
Error: Index out of range. Index was outside the bounds of the array.
Error: Cannot divide by zero. Attempted to divide by zero.
Exiting program.
Dieser Code ist lediglich eine mögliche Lösung, da es viele Möglichkeiten gibt, die Ausnahmebehandlungslogik zu aktualisieren. 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.