Menu
Coddy logo textTech

Try-Catch Basics

Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 23 de 66.

El manejo de excepciones en C# permite gestionar errores en tiempo de ejecución de forma elegante. El bloque try-catch es la forma fundamental de manejar excepciones.

Crea un bloque try-catch básico:

try
{
    // Código que podría lanzar una excepción (error)
    int result = 10 / 0; // Esto lanzará una DivideByZeroException
}
catch (Exception ex)
{
    // Manejar la excepción
    Console.WriteLine("An error occurred: " + ex.Message);
}

Después de ejecutar el código anterior, en lugar de que tu programa se bloquee, verás:

An error occurred: Attempted to divide by zero.

Puedes continuar ejecutando código después del bloque catch:

try
{
    int result = 10 / 0;
    Console.WriteLine("This won't execute");
}
catch (Exception ex)
{
    Console.WriteLine("Caught an error: " + ex.Message);
}

Console.WriteLine("Program continues running");
challenge icon

Desafío

Fácil

Crea un método llamado DivideNumbers que tome dos enteros como parámetros:

  • numerator - El número a dividir
  • denominator - El número por el que dividir

El método debe:

  1. Intentar dividir el numerador por el denominador
  2. Devolver el resultado si es exitoso
  3. Capturar cualquier DivideByZeroException e imprimir exactamente: "Cannot divide by zero!"
  4. Devolver 0 si ocurre una excepción

Hoja de referencia

El manejo de excepciones en C# utiliza bloques try-catch para gestionar errores en tiempo de ejecución de manera elegante:

try
{
    // Code that might throw an exception
    int result = 10 / 0;
}
catch (Exception ex)
{
    // Handle the exception
    Console.WriteLine("An error occurred: " + ex.Message);
}

La ejecución del código continúa después del bloque catch, evitando que el programa se bloquee. Puedes capturar tipos de excepciones específicas como DivideByZeroException para un manejo de errores más dirigido.

Pruébalo tú mismo

using System;

class Program {
    public static int DivideNumbers(int numerator, int denominator) {
        // Escribe tu código aquí
    }
    
    static void Main(string[] args) {
        int numerator = int.Parse(Console.ReadLine());
        int denominator = int.Parse(Console.ReadLine());
        
        int result = DivideNumbers(numerator, denominator);
        Console.WriteLine(result);
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo