Revizuiți soluția pentru provocarea de a surprinde anumite excepții

Finalizat

Următorul cod este o soluție posibilă pentru provocarea de la unitatea anterioară:

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.");

Atunci când rulați această aplicație, aceasta va imprima mesajele necesare pe consolă ca rezultat:

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.

Acest cod este doar "o soluție posibilă", deoarece există multe modalități de a actualiza logica de tratare a excepțiilor. Atâta timp cât ai obținut rezultatele corecte conform regulilor din provocare, atunci ai făcut mare!

Dacă ați reușit, felicitări! Continuați verificarea cunoștințelor în unitatea următoare.

Important

Dacă ați avut probleme la finalizarea acestei provocări, poate ar trebui să revizuiți unitățile anterioare înainte de a continua.