Manchmal, wenn ich in C++/C programmiere ich am Ende die gleiche Funktion mehrmals aufrufen und ich fragte mich, was ist die effizienteste Möglichkeit, für alle diese Anrufe auf Fehler zu prüfen? Verwenden von if else
Anweisungen nehmen viel Code auf und sehen hässlich aus. Ich habe meine eigene Art gefunden, nach Fehlern zu suchen, vielleicht gibt es einen besseren Weg, den ich benutzen sollte.Fehler beim Überprüfen vieler Funktionsaufrufe
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();
}
Hinweis: Ich verstehe, dass try
und catch
Verwendung könnte für C besser ++, wie es dieses Problem durch das Werfen einer Ausnahme auf dem ersten Fehler lösen würde, aber das Problem mit diesem ist, dass es nicht kompatibel mit viel ist von Funktionen, die Fehlercodes wie die Windows-API zurückgeben. Vielen Dank!
Haha, meine Frage aktualisiert :) – user99545
Warum würden Sie nicht so schnell wie möglich wissen wollen, wenn ein Fehler aufgetreten ist, und überprüfen Sie jeden Return-Code, wie Sie es bekommen? Mit Ihrer Methode können Sie eine Reihe von Fehlern generieren und nur über die erste herausfinden. –
Iterieren Sie über die Liste der Parameter, die übergeben werden sollen, rufen Sie die Funktion mit den Parametern dieser Iteration auf, setzen Sie beim ersten Auftreten eines Fehlers ein "wir haben einen Fehler" bool und bestätigen Sie die Schleife dann und dort. – DavidO