Es un error de ejecución que puede ser manejado.
Si no es gestionada, la aplicación falla y crashea
Si es gestionada, la aplicación puede seguir su flujo normal
En C# la gestión de errores las manejamos con
Try
Catch
Finally : Si hay o no hay error, hay que hacer algo
Throw : Lanzaremos la excepción con estof

int x = 0, y = 5, z;
float result;
try
{
result = y/x;
}
catch (DivideByZeroException ex)
{
MessageBox.Show(ex.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
//
}