Ich arbeite an einem Unternehmensprojekt, das in vielen KMUs und Unternehmen eingesetzt wird.
Die Unterstützung für dieses Projekt wäre schwierig und ich möchte ein Codierungsmuster für Fehler erstellen ( wie HTTP-Statuscodes ). Auf diese Weise können Helpdesk-Mitarbeiter so schnell wie möglich auf Dokumente zugreifen und die Probleme beheben.
Was sind die besten Praktiken und Empfehlungen, um dies zu tun?
Jede Hilfe dazu ist hilfreich.
Antworten:
Es gibt einen Unterschied zwischen Fehlercodes und Fehlerrückgabewerten. Ein Fehlercode ist für den Benutzer und den Helpdesk bestimmt. Ein Fehlerrückgabewert ist eine Codierungstechnik, die angibt, dass in Ihrem Code ein Fehler aufgetreten ist.
Man kann Fehlercodes mit Fehlerrückgabewerten implementieren, aber ich würde davon abraten. Ausnahmen sind die moderne Art, Fehler zu melden, und es gibt keinen Grund, warum sie keinen Fehlercode enthalten sollten.
So würde ich es organisieren (Beachten Sie, dass die Punkte 2-6 sprachunabhängig sind):
ErrorCode
Eigenschaft. Der Catch in der Hauptschleife meldet dieses Feld auf die übliche Weise (Protokolldatei / Fehler-Popup / Fehlerantwort). Verwenden Sie in Ihrem gesamten Code denselben Ausnahmetyp.if (...) throw new FooException(1234, ".."); else throw new FooException(1235, "..");
Codezeile sparen Sie möglicherweise eine halbe Stunde für den Helpdesk.Und vergessen Sie niemals, dass der Zweck der Fehlercodes darin besteht, dem Helpdesk das Leben zu erleichtern .
quelle
Doc1234
Weile die Main-App habenIrS1234
. Meine Helpdesk-Mitarbeiter sind also ziemlich schnell dabei, meinen Benutzern zu helfen.Sie müssen zuerst die Bereiche eingrenzen, in denen Fehler auftreten können und die für den Benutzer sichtbar sind. Dann können Sie sie dokumentieren. So einfach ist das.
Nun, theoretisch einfach. In der Praxis können überall Fehler auftreten, und das Melden von Fehlern kann netten Code in ein Monster aus Protokollierung, Ausnahmewurf und -behandlung und Übergabe von Rückgabewerten verwandeln.
Ich würde dann einen 2-Schritt-Ansatz empfehlen. Erstens ist zu protokollieren, viel und viel zu protokollieren.
Zweitens müssen Sie die Hauptkomponenten und ihre Schnittstellen bestimmen und definieren, in welchen Hauptfehlerfällen sich diese Komponenten befinden können. Sie können sich dann sichtbarer anmelden, wenn einer dieser Fehler vorliegt (wie Sie den Fehler intern behandeln, liegt bei Ihnen - Ausnahmen oder Fehlercodes machen hier keinen Unterschied. Ein Benutzer wird dann im Allgemeinen den Fehler sehen und in den Protokollen detailliertere Informationen finden.
Der gleiche Ansatz wird für Webserver und Ihr http-Fehlercodebeispiel verwendet. Wenn der Benutzer eine 404 sieht und diese dem Support meldet, sucht er in den Protokollen nach Details darüber, was gerade vor sich ging, welche Seite wann besucht wurde, und ermittelt alle anderen Informationen, die sinnvoll sind , in der DB, im Netzwerk oder in der Anwendung sein.
quelle
Ich würde für benutzerdefinierte Ausnahmen mit beschreibenden Namen und klaren Botschaften gehen und diese werfen. Es ist viel einfacher, die vorhandene Ausnahmeinfrastruktur einer Sprache zu verwenden, als die Unterstützung für die Weitergabe und Interpretation von Fehlercodes einzubauen.
quelle