Revise la solución para detectar el desafío de excepciones específicas
El código siguiente es una posible solución para el desafío de la unidad anterior:
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.");
Al ejecutar esta aplicación, imprimirá los mensajes necesarios en la consola como salida:
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.
Este código es simplemente "una posible solución" porque hay muchas maneras de actualizar la lógica de control de excepciones. Siempre que tengas los resultados correctos según las reglas en el desafío, entonces hiciste genial!
Si ha sido así, enhorabuena. Continúe con la comprobación de conocimientos en la unidad siguiente.
Importante
Si tiene problemas para completar este desafío, quizás deba revisar las unidades anteriores antes de continuar.