2 Stimmen

Casting von Ausnahmen in C#

Warum bekomme ich eine InvalidCastException wenn Sie dies tun?

throw (ArgumentNullException)(new Exception("errormessage", null));

Dies ist eine vereinfachte Version der folgenden Funktion.

public static void Require<T>(bool assertion, string message, Exception innerException) where T: Exception
    {
        if (!assertion)
        {
            throw (T)(new Exception(message, innerException));
        }
    }

Die vollständige Fehlermeldung lautet:

System.InvalidCastException : Objekt vom Typ 'System.Exception' kann nicht in den Typ 'System.ArgumentNullException' gecastet werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X