Nicht unbedingt (und wahrscheinlich überhaupt nicht). Jede Klasse, die von System.Exception erbt, implementiert per Definition alles, was System.Exception implementiert. Es wird jedoch auch eigene Unterschiede haben.
Werfen wir einen Blick auf ein einfaches Beispiel: ArgumentNullException. Dies ist eine System-Namespace-Ausnahme, die von den Erstellern von C# definiert wurde. Ein Vergleich von System.Exception zu System.ArgumentNullException zeigt Unterschiede. Beispiel:
ArgumentNullException hat einen zusätzlichen Konstruktor mit der Signatur ArgumentNullException (String, String), mit dem Sie den Namen des Null-Parameters übergeben können.
ArgumentNullException hat eine zusätzliche Eigenschaft: ParamName, die den Namen des Parameters enthält, der null ist und die Ausnahme verursacht hat.
Da ich nur auf der höchsten Ebene bin, gibt es wahrscheinlich auch Unterschiede in der Art und Weise, wie die gängigen Methoden implementiert werden.
Es genügt zu sagen, ein Kind Klasse wird sehr selten identisch mit seinem Elternteil aussehen.
Vielleicht können Sie in Ihrer Frage teilen, warum dies relevant ist und wie Sie diese Informationen verwenden möchten, um Ausnahmen in Ihrem Code zu strukturieren - ein Beispiel könnte gut funktionieren. – Snympi