Gibt es einen bekannten Grund, warum FormatException
nicht von ArgumentException
erbt? Ein ungültiges Format scheint ein sehr spezifischer Fall zu sein, in dem ein Argument ungültig ist, ähnlich wie ArgumentOutOfRangeException
.Warum erbt FormatException nicht von ArgumentException?
Die MSDN article for the class Staaten:
Format ausgelöst wird, wenn das Format eines Arguments in einem Methodenaufruf Parameter-Typs nicht das Format des entsprechenden formalen entsprechen. Beispiel: Wenn eine Methode einen
String
Parameter angibt, der aus zwei Ziffern mit einem eingebetteten Punkt besteht, würde das Übergeben eines entsprechenden Zeichenfolgenarguments mit nur zwei Ziffern an diese Methode dazu führen, dass FormatException ausgelöst wird.
Klingt wie nur das Szenario für eine ArgumentException
oder abgeleitete Klasse für mich.
All dies bedeutet, dass Sie nicht mit FormatException
unter der größeren Ausnahmefamilie ArgumentException
umgehen können, noch können Sie identifizieren, welcher Parameter verursacht die Ausnahme ausgelöst werden.
Gibt es einen Grund dafür, dass diese scheinbar außer Haus gesetzte Ausnahme wo sein soll?
Das ist ein überzeugendes Argument genug für mich. Die Dokumentation, die die Klasse umgibt, ist einfach irreführend, wenn sie Argumente erwähnt, die in der Ausnahme verwendet werden. –
Downvoter: Möchten Sie das erklären? Ich frage mich, was in dieser Antwort wirklich "downvote-fähig" ist. –
Es ist ein Miss-Klick auf meinen Teil, den ich SO zu der Zeit nicht rückgängig machen lassen würde. Wenn Sie Ihre Antwort bearbeiten, würde ich es gerne rückgängig machen. –