Listen Sie alle Ausnahmen auf, die von einer Methode ausgelöst werden könnten

8
___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden. ___ qstnhdr ___ Listen Sie alle Ausnahmen auf, die von einer Methode ausgelöst werden könnten ___ tag123visualstudio ___ Verwenden Sie dieses Tag, wenn Sie eine bestimmte Frage zu Visual Studio-Funktionen und -Funktionen haben. Verwenden Sie dieses Tag NICHT bei Fragen zu Code, der nur zufällig in Visual Studio geschrieben wurde. Erwägen Sie, den genauen Technologiebereich zu markieren, auf den Ihre Frage verweist, und kennzeichnen Sie auch eine spezifischere Version von Visual Studio. Bitte geben Sie Ihre genaue VS-Version, Edition und Update-Ebene in Ihrer Frage an. ___ answer2584904 ___

Das einzige mir bekannte Tool ist der (kommerzielle) Exception Hunter von red-gate >.

Aber es ist nicht wirklich so deterministisch, wie Sie vielleicht zuerst denken. Abhängig von den Versionen zusätzlicher Assemblys können die ausgelösten Exceptions nach der Build-Zeit variieren, wenn eine neuere Version verwendet wird, die während der Erstellung andere Ausnahmen als erwartet auslöst.

In Java haben Sie die "spezielle" RuntimeException, die nicht in der Methodensignatur deklariert werden muss (einschließlich aller absteigenden Ausnahmen). Es gibt berechtigte Gründe, warum die Sprachdesigner keine überprüften Ausnahmen in C # implementiert haben (ob sie die Vorteile überwiegen oder nicht). Einige Java-Entwickler wickeln Ausnahmen nur in Laufzeitausnahmen ein oder sie vergessen, die "cause" -Ausnahmen zu verwenden, die zum Verlust von Informationen führen.

Es gibt ein gutes Interview mit Anders Hejlsberg über geprüfte Ausnahmen und einige Gründe dafür, warum C # nicht funktioniert Habe sie nicht - Danke an Adrianbanks für den Link.

    
___ tag123exceptionhandling ___ Bei der Ausnahmebehandlung handelt es sich um ein Programmiersprachenkonstrukt oder einen Computerhardwaremechanismus, der das Auftreten von Exceptions behandelt, spezielle Bedingungen, die den normalen Ablauf der Programmausführung ändern. ___ tag123statistische Analyse ___ "Statische Analyse" bezieht sich auf die Software-Tools (oder ihre Verwendung) zur Analyse von Anwendungscode für beliebige Eigenschaften wie Fehler (nicht initialisierte Variablen, mögliche SQL-Injection-Attacken, ist dieser Code tot, kann ein Argument null sein, ...) oder Struktur (was ist das Aufrufdiagramm für diesen Code? Gibt es einen doppelten Code? Welche Informationen werden zwischen den Komponenten ausgetauscht?). ___ tag123checkedexceptions ___ Die Ausnahmen, die in der "throws" -Klausel einer Methode oder eines Konstruktors deklariert werden müssen, wenn sie durch die Ausführung der Methode oder des Konstruktors ausgelöst und außerhalb der Grenzen der Methode oder des Konstruktors weitergegeben werden können. ___ answer2584903 ___

Das Einzige, auf das ich gestoßen bin, ist Exception Hunter , aber das ist es ein kommerzielles Tool, das Sie kaufen müssten.

    
___
Kasper Holdum 06.04.2010, 12:48
quelle

2 Antworten

8

Das einzige mir bekannte Tool ist der (kommerzielle) Exception Hunter von red-gate >.

Aber es ist nicht wirklich so deterministisch, wie Sie vielleicht zuerst denken. Abhängig von den Versionen zusätzlicher Assemblys können die ausgelösten Exceptions nach der Build-Zeit variieren, wenn eine neuere Version verwendet wird, die während der Erstellung andere Ausnahmen als erwartet auslöst.

In Java haben Sie die "spezielle" RuntimeException, die nicht in der Methodensignatur deklariert werden muss (einschließlich aller absteigenden Ausnahmen). Es gibt berechtigte Gründe, warum die Sprachdesigner keine überprüften Ausnahmen in C # implementiert haben (ob sie die Vorteile überwiegen oder nicht). Einige Java-Entwickler wickeln Ausnahmen nur in Laufzeitausnahmen ein oder sie vergessen, die "cause" -Ausnahmen zu verwenden, die zum Verlust von Informationen führen.

Es gibt ein gutes Interview mit Anders Hejlsberg über geprüfte Ausnahmen und einige Gründe dafür, warum C # nicht funktioniert Habe sie nicht - Danke an Adrianbanks für den Link.

    
Lucero 06.04.2010, 12:55
quelle
2

Das Einzige, auf das ich gestoßen bin, ist Exception Hunter , aber das ist es ein kommerzielles Tool, das Sie kaufen müssten.

    
adrianbanks 06.04.2010 12:55
quelle