A volte, quando sto programmando in C++/C, finisco per chiamare la stessa funzione più volte e mi chiedevo quale sia il modo più efficiente per controllare gli errori per tutte quelle chiamate? L'uso delle istruzioni if else
richiede molto codice e sembra brutto. Ho trovato il mio modo di controllare gli errori, forse c'è un modo migliore che dovrei usare.Errore durante il controllo di molte chiamate di funzione
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: ho capito che l'utilizzo try
e catch
potrebbe essere migliore per C++ come sarebbe risolvere questo problema un'eccezione al primo errore, ma il problema con questo è che non è compatibile con un sacco di funzioni che restituiscono codici di errore come l'API di Windows. Grazie!
Haha, aggiornato la mia domanda :) – user99545
perché non si vuole sapere il più presto possibile quando si è verificato un errore, e verificare ogni codice di ritorno come si ottiene? Usando il tuo metodo, potresti generare una sequenza di errori e scoprire solo il primo. –
Iterate sulla lista dei parametri che passerete, chiamate la funzione con i parametri di quella iterazione, impostate un bool "abbiamo un errore" su true la prima volta che viene rilevato un errore e terminate il ciclo subito dopo. – DavidO