Gestión de errores — RexDac Academy

RexDac AcademyNotas técnicas · Ayuda tener algunos conocimientos previos
0%Notas publicadas leídas · en este dispositivo

Nivel 3 — Funciones

Gestión de errores

Notas originales de SunDiaL · Ver fuente en inglés

La terminología es la siguiente: una función lanza errores, llamados excepciones; tu función intenta ejecutar otra función y captura los errores que esta lanza. Ejemplo:

float Divide(float x, float y)
{
	if(y == 0)
	{
		throw new Exception("Cannot divide by zero")
	}

	return x/y;
}

void Main()
{
	float x = 10;
	float y = 0;
	try
	{
		float result = Divide(x, y);
	}
	catch(Exception e)
	{
		Console.WriteLine(e.ToString());
	}
}

Este es el ejemplo más básico de gestión de excepciones o errores. Aun así, hay algunos puntos más:

  1. Puedes capturar varias excepciones y tratarlas de forma diferente. Basta con encadenar varios bloques catch. El orden importa.
try{}
catch(ArgumentException e) {}
catch(NullReferenceException e) {}
catch(Exception e) {}
  1. Puedes utilizar finally junto a try-catch para tener un bloque de código que se ejecute independientemente de si hay una excepción.

Suele utilizarse para liberar recursos: cerrar archivos, conexiones de bases de datos, detener hilos de larga duración, etc.

try {}
catch {} //the exception can be omitted if it's not used for anything
finally {}