A veces, cuando estoy programando en C++/C, termino llamando a la misma función varias veces y me pregunto ¿cuál es la forma más eficiente de verificar si hay errores para todas esas llamadas? Usar las declaraciones if else
toma mucho código y se ve feo. He encontrado mi propia forma de verificar errores, quizás haya una mejor manera de usar.Error al verificar muchas llamadas a funciones
int errs[5] = {0};
errs[0] = functiona(...);
errs[1] = functiona(...);
...
errs[5] = functiona(...);
for (int i = 0; i < 5; i++)
{
if (err[i] == 0)
MAYDAY!_wehaveanerror();
}
Nota: Tengo entendido que el uso de try
y catch
podría ser mejor para C++, ya que podría resolver este problema lanzando una excepción en el primer error, pero el problema con esto es que no es compatible con una gran cantidad de funciones que devuelven códigos de error como la API de Windows. ¡Gracias!
Jaja, actualizado mi pregunta :) – user99545
¿Por qué no le gustaría saber tan pronto como sea posible cuando se produce un error, y comprobar cada código de retorno que se obtiene? Usando su método, podría generar una secuencia de errores, y solo descubrir el primero. –
Revise la lista de parámetros que aprobará, llame a la función con los parámetros de esa iteración, establezca un bool "tenemos un error" en verdadero la primera vez que se detecte un error, y termine el ciclo en ese momento. – DavidO