Als «exceptions» getaggte Fragen

Eine Ausnahme ist ein Ereignis in einem Anwendungsprozess, das eine Abweichung vom normalen Programmablauf erfordert.


2
Granularität von Ausnahmen
Ich bin in eine Debatte zwischen ein paar Freunden und mir geraten. Sie bevorzugen allgemeine Ausnahmen wie ClientErrorExceptionund ServerErrorExceptionmit Details als Ausnahmefelder, während ich es vorziehe, die Dinge spezifischer zu gestalten. Zum Beispiel könnte ich eine Handvoll Ausnahmen haben wie: BadRequestException AuthenticationFailureException ProductNotFoundException Jedes dieser Elemente basiert auf dem von …

2
Müssen wir die gesamte Modulnutzung oder nur Argumente öffentlicher Methoden validieren?
Ich habe gehört, dass es empfohlen wird, Argumente öffentlicher Methoden zu validieren: Sollte man nach null suchen, wenn man nicht null erwartet? Sollte eine Methode ihre Parameter validieren? MSDN - CA1062: Überprüfen Sie die Argumente öffentlicher Methoden (ich habe .NET-Hintergrund, aber die Frage ist nicht C # -spezifisch ). Motivation …

6
Wenn das Modell die Daten validiert, sollte es dann keine Ausnahmen bei fehlerhaften Eingaben auslösen?
Beim Lesen dieser SO-Frage scheint es verpönt zu sein, Ausnahmen für die Überprüfung von Benutzereingaben auszulösen. Aber wer sollte diese Daten validieren? In meinen Anwendungen werden alle Überprüfungen in der Geschäftsschicht durchgeführt, da nur die Klasse selbst wirklich weiß, welche Werte für jede ihrer Eigenschaften gültig sind. Wenn ich die …

5
Ausnahmen „Programmierfehler“ - Ist mein Ansatz korrekt?
Ich versuche derzeit, die Verwendung von Ausnahmen zu verbessern, und habe die wichtige Unterscheidung zwischen Ausnahmen gefunden, die Programmierfehler anzeigen (z. B. jemand hat null als Argument übergeben oder eine Methode für ein Objekt aufgerufen, nachdem es entsorgt wurde), und solchen, die einen Fehler in der Liste anzeigen Vorgang, an …
9 java  c#  c++  exceptions 



2
Wie kann ich Ausnahmen debuggen, die nicht leicht reproduzierbar sind und nur in einer Produktionsumgebung auftreten?
Ich arbeite an einem Problem, bei dem die Ausnahme nur in unserer Produktionsumgebung auftritt. Ich habe keinen Zugriff auf diese Umgebungen und weiß auch nicht, was diese Ausnahme bedeutet. Wenn ich mir die Fehlerbeschreibung ansehe, kann ich die Ursache nicht verstehen. javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure Würde mich bitte jemand …


2
Wann wird eine benutzerdefinierte Ausnahme in C # erstellt?
Ich schreibe eine Klasse für die Schnittstelle mit einem einfachen Hardwaregerät über einen COM-Port. Das Gerät kann für die Verwendung verschiedener Modi konfiguriert werden, sodass meine Klasse eine SetOperatingModeFunktion hat, die einen enumTyp annimmt UsbDeviceMode. Es sieht ungefähr so ​​aus: class UsbDevice { public void SetOperatingMode(UsbDeviceMode mode) { byte[] buffer …

2
Design der Ausnahmehierarchie
In meinem Unternehmen erstellen wir eine Webanwendung mit mehreren zentralen Diensten, die wir selbst entwerfen und dann als Schnittstellen angeben. Das heißt, die Schnittstellen sind anwendungsspezifisch und werden dann mit Bibliotheken von Drittanbietern implementiert, die wir im Laufe der Zeit ändern können. Bei Ausnahmen habe ich festgestellt, dass die von …

6
Sollten wiederverwendete Ausnahmetypen gegenüber Einwegarten bevorzugt werden?
Nehmen wir an, ich habe Doors, die von a verwaltet werden DoorService. Der DoorServiceist für das Öffnen, Schließen und Verriegeln der in der Datenbank gespeicherten Türen zuständig. public interface DoorService { void open(Door door) throws DoorLockedException, DoorAlreadyOpenedException; void close(Door door) throws DoorAlreadyClosedException; /** * Closes the door if open */ …

2
Ist die starke Sicherheitsgarantie für Ausnahmen mit einem Wertübergabeargument möglich, das zur Zerstörung führen kann?
Angenommen, Sie haben einen Typ mit einem Wurfzerstörer und eine Funktion, die ihn nach Wert empfängt. Kann diese Operation jemals etwas Besseres als die grundlegende Ausnahmegarantie bieten? Oder anders formuliert: Kann man die Zerstörung des als Wert übergebenen Arguments außer Acht lassen, wenn festgestellt wird, ob eine Operation eine Commmit-and-Rollback-Semantik …

3
Sollte ich meine eigenen Ausnahmen machen oder ähnliche Ausnahmen für leicht nicht standardmäßige Zwecke kooptieren?
Dies ist eine allgemeine Entwurfsfrage, aber ich konzentriere mich auf C # und .NET, da dies die Sprachen sind, mit denen ich gerade arbeite. Sollte ich meine eigenen, neuen Ausnahmeklassen erstellen oder vorhandene Framework-Ausnahmen für etwas andere Zwecke kooptieren? Ich benötige beispielsweise eine Ausnahme, die angibt, dass ein Mitglied (z. …

4
Wie bereinige versuche versuchen / außer / sonst?
Beim Schreiben von Code möchte ich oft Folgendes tun: try: foo() except FooError: handle_foo() else: try: bar() except BarError: handle_bar() else: try: baz() except BazError: handle_baz() else: qux() finally: cleanup() Dies ist offensichtlich völlig unlesbar. Es drückt jedoch eine relativ einfache Idee aus: Führen Sie eine Reihe von Funktionen (oder …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.