Error Handling Part 4: Fehlerbehandlung auf Anwendungsebene

Dies ist der vierte Teil der Serie zum Exception Handling: Grundlagen der Fehlerbehandlung Eigene Ausnahamen werfen Guidelines nach David Abrahams Fehlerbehandlung auf Anwendungsebene In diesem Teil der Serie wollen wir das Error Handling einer Anwendung aus architektonischer Sicht betrachten. Der wichtigste Aspekt dabei ist sicherlich das Thema Sicherheit. Sicherheit Wenn ein Fehler im Betrieb auftritt, dann ist es nötig so viele Informationen wie möglich über diesen Fehler zu haben. Dies betrifft besonders den StackTrace. Dieser sollte bei der Fehlerbehandlung ja immer erhalten bleiben. Jetzt sind der StackTrace und andere ausführliche Informationen zu Fehlern natürlich auch eine Menge Informationen, die von … Continue reading Error Handling Part 4: Fehlerbehandlung auf Anwendungsebene

Error Handling Part 3: Guidelines nach David Abrahams

Dies ist der dritte Teil der Serie zum Thema Exception Handling: Grundlagen der Fehlerbehandlung Eigene Ausnahamen werfen Guidelines nach David Abrahams Fehlerbehandlung auf Anwendungsebene David Abrahams hat 3 Guidelines definiert, an die sich Entwickler von Klassenbibliotheken halten sollen: Die no-throw guarantee Die basic guarantee Die strong guarantee Es geht dabei um 3 Arten von Verträgen, die man als Autor einer Klasse den Konsumenten verspricht. No-Throw Guarantee Bei der “no-throw guarantee” muss sichergestellt werden, dass keine Exception die Kasse/Funktion verlässt. Dies bedeutet natürlich, dass beim Auftreten eines Fehlers in einer untergeordneten Komponente folgendes sichergestellt werden muss: Keine Exception verlässt die Funktion: … Continue reading Error Handling Part 3: Guidelines nach David Abrahams

Error Handling Part 1: Grundlagen bei der Fehlerbehandlung

In letzter Zeit wurde ich immer wieder gebeten etwas über Fehlerbehandlung zu schreiben. Da das Thema komplex und sehr umfangreich ist habe ich mich immer wieder darum gedrückt. Man sieht aber in der Praxis leider doch, dass es immer wieder Probleme damit gibt. Deshalb habe ich mich jetzt endlich aufgerafft das Thema anzugehen. Da das Thema zu Komplex für einen einzelnen Beitrag ist, werde ich das Ganze als Serie aufbauen: Grundlagen der Fehlerbehandlung Eigene Ausnahamen werfen Guidelines nach David Abrahams Fehlerbehandlung auf Anwendungsebene Beim Verwenden einer Try-Catch-Anweisung kann man wirklich viel falsch machen. Viel mehr als einem meistens bewusst ist. … Continue reading Error Handling Part 1: Grundlagen bei der Fehlerbehandlung

Error Handling Part 2: Eigene Ausnahmen werfen

Hier ist der zweite Parte der Serie über Fehlerbehandlung: Grundlagen der Fehlerbehandlung Eigene Ausnahamen werfen Guidelines nach David Abrahams Fehlerbehandlung auf Anwendungsebene Diesmal geht es darum wann und wie Ausnahmen generiert werden sollen. Generell gilt: Ausnahmen sollten immer dann geworfen werden, wenn die Anwendung oder das Objekt sonst in einen undefinierten Zustand gerät. Ausnahmen sollen kein Teil des normalen Programmflusses sein. Ein gutes Beispiel wie es NICHT geht liefert uns mal wieder SharePoint: Wenn ich auf ein Objekt in eine Auflistung zugreifen will, das nicht existiert werde ich mit einer ArgumentException oder eine SPException überrascht. Dies führt zu folgenden Funktionen, … Continue reading Error Handling Part 2: Eigene Ausnahmen werfen