2010-12-10 5 views

Antwort

0

Es hängt alles davon ab, was die Anforderungen sind.

In einigen Fällen möchten Sie die Ausnahme für den Anrufer aufblasen, da der Anrufer möglicherweise besser ausgestattet ist, um das Problem zu behandeln. Das Senden einer E-Mail ist möglicherweise nicht immer systemkritisch, aber es kann sein, wenn Sie jemandem mitteilen müssen, der bei Ihrem Bankkonto angemeldet ist.

Auf der anderen Seite, möchten Sie nicht aufblasen Ausnahmen, die von der aufgerufenen Methode behandelt werden sollten. Wenn Sie etwas schreiben, das eine Datei über FTP herunterladen soll, möchten Sie den Anrufer nicht mit jeder unterbrochenen Verbindung belästigen, wenn Sie es später noch einmal versuchen möchten.

Also wieder, das hängt von der Situation ab, eher als eine Faustregel.

1

Es hängt wirklich davon ab, wo das Programm den Fehler behandeln kann, melden Sie es in einer nützlichen Weise, und setzen Sie einige nützliche Verarbeitung fort.

In UI-Code habe ich geschrieben, während zum Beispiel ein Ereignis verarbeitet, kann ich eine private Methode aufrufen und dann einige Dienstprogramm-Methode, die einen Fehler auftritt. Es wäre nicht sinnvoll, sie in der Dienstprogrammmethode zu behandeln, da sie das Ereignis, das behandelt wird, und alle Methoden zum Melden des Fehlers an den Benutzer möglicherweise nicht kennen. Die erste Ebene der Ereignisbehandlung ist wahrscheinlich in einer besseren Situation, um damit umzugehen und entweder die Verarbeitung zu stoppen oder die notwendigen Anpassungen vorzunehmen.

Auf der anderen Seite, wenn die Utility-Methode legitim den Fehler für alle Situationen behandeln kann, die es verwendet wird (vielleicht gibt es einige Wiederholungslogik oder Plan B Logik), dann könnte es hier sein.

Aber für viel von dem UI-Code, den ich getan habe, wird es normalerweise zu einem höheren Niveau übergeben, da es in einer besseren Position ist, um es für die spezifische Situation zu behandeln.

Verwandte Themen