Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Manejo de Errores en la Práctica | Additional Structures & File Handling
C# Beyond Basics

Manejo de Errores en la PrácticaManejo de Errores en la Práctica

La sintaxis try-catch tiene una sintaxis adicional que nos permite atrapar tipos específicos de errores y tratarlos por separado:

El tipo Exception que usamos en el capítulo anterior simplemente captura todo tipo de errores, sin embargo hay algunos subtipos de Exception que capturan tipos de errores más específicos. A continuación se muestran algunos tipos de excepción comunes:

    1. DivideByZeroException: Hay una división por cero.
  1. FileNotFoundException: El fichero al que estamos accediendo no existe.
    1. KeyNotFoundException: La clave del diccionario no existe.
  2. IndexOutOfRangeException: El índice especificado de un array o lista no es válido.

El término errorVarName es una variable que almacena el objeto Exception, y tiene información como el mensaje de error al que se puede acceder a través de errorVarName.Message. Podemos omitirlo en caso de que no lo vayamos a utilizar:

He aquí un ejemplo de uso de este tipo de bloque try-catch:

cs

index.cs

Utiliza ahora estos conceptos. Rellena los espacios en blanco con los tipos de excepción pertinentes en el siguiente código para completar el reto.

cs

index.cs

Here's an example of using this kind of try-catch block:

cs

index.cs

Now using these concepts. Fill in the blanks with relevant exception types in the following code to complete the challenge.

cs

index.cs

1. Use the relevant exception type for each catch block. Read the code and understand which catch block is most appropriate for handling a certain type of exception.

using System;
using System.Collections.Generic;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        int[] numbers = { 1, 2, 5, 7, 9 };
        var numberNames = new Dictionary<int, string>();
        
        numberNames.Add(1, "One");
        numberNames.Add(2, "Two");
        numberNames.Add(5, "Five");
        numberNames.Add(9, "Nine");
        
        int i = 0;
        while (true)
        {
            try
            {
                int key = numbers[i];
                Console.WriteLine($"{key} is {numberNames[key]}");
                i++;
            }
            catch (IndexOutOfRangeException)
            {
                break;
            }
            catch (KeyNotFoundException)
            {
                numberNames.Add(7, "Seven");
            }
        }
    }
} 
      

¿Todo estuvo claro?

Sección 1. Capítulo 10
course content

Contenido del Curso

C# Beyond Basics

Manejo de Errores en la PrácticaManejo de Errores en la Práctica

La sintaxis try-catch tiene una sintaxis adicional que nos permite atrapar tipos específicos de errores y tratarlos por separado:

El tipo Exception que usamos en el capítulo anterior simplemente captura todo tipo de errores, sin embargo hay algunos subtipos de Exception que capturan tipos de errores más específicos. A continuación se muestran algunos tipos de excepción comunes:

    1. DivideByZeroException: Hay una división por cero.
  1. FileNotFoundException: El fichero al que estamos accediendo no existe.
    1. KeyNotFoundException: La clave del diccionario no existe.
  2. IndexOutOfRangeException: El índice especificado de un array o lista no es válido.

El término errorVarName es una variable que almacena el objeto Exception, y tiene información como el mensaje de error al que se puede acceder a través de errorVarName.Message. Podemos omitirlo en caso de que no lo vayamos a utilizar:

He aquí un ejemplo de uso de este tipo de bloque try-catch:

cs

index.cs

Utiliza ahora estos conceptos. Rellena los espacios en blanco con los tipos de excepción pertinentes en el siguiente código para completar el reto.

cs

index.cs

Here's an example of using this kind of try-catch block:

cs

index.cs

Now using these concepts. Fill in the blanks with relevant exception types in the following code to complete the challenge.

cs

index.cs

1. Use the relevant exception type for each catch block. Read the code and understand which catch block is most appropriate for handling a certain type of exception.

using System;
using System.Collections.Generic;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        int[] numbers = { 1, 2, 5, 7, 9 };
        var numberNames = new Dictionary<int, string>();
        
        numberNames.Add(1, "One");
        numberNames.Add(2, "Two");
        numberNames.Add(5, "Five");
        numberNames.Add(9, "Nine");
        
        int i = 0;
        while (true)
        {
            try
            {
                int key = numbers[i];
                Console.WriteLine($"{key} is {numberNames[key]}");
                i++;
            }
            catch (IndexOutOfRangeException)
            {
                break;
            }
            catch (KeyNotFoundException)
            {
                numberNames.Add(7, "Seven");
            }
        }
    }
} 
      

¿Todo estuvo claro?

Sección 1. Capítulo 10
some-alt