Platform::Exception-Klasse
Stellt Fehler dar, die bei der Anwendungsausführung auftreten. Benutzerdefinierte Ausnahmeklassen können nicht von Platform::Exception
abgeleitet werden. Wenn Sie eine benutzerdefinierte Ausnahme benötigen, können Sie Platform::COMException
verwenden und ein app-spezifisches HRESULT angeben.
Syntax
public ref class Exception : Object, IException, IPrintable, IEquatable
Member
Die Exception
-Klasse erbt von der Object
-Klasse und den Schnittstellen IException
, IPrintable
und IEquatable
.
Die Exception
-Klasse verfügt auch über die folgenden Arten von Membern.
Konstruktoren
Member | Beschreibung |
---|---|
Exception::Exception | Initialisiert eine neue Instanz der Exception -Klasse. |
Methoden
Die Exception
Klasse erbt die Equals()
Methoden " GetHashCode()
Finalize()
MemberwiseClose()
GetType()
ToString()
Platform::Object". Die Exception
-Klasse verfügt auch über die folgende Methode.
Member | Beschreibung |
---|---|
Exception::CreateException | Erstellt eine Ausnahme, die den angegebenen HRESULT-Wert darstellt. |
Eigenschaften
Die Ausnahmeklasse verfügt auch über die folgenden Eigenschaften:
Member | Beschreibung |
---|---|
Ausnahme::HResult | Das HRESULT, das der Ausnahme entspricht. |
Exception::Message | Eine Meldung, mit der die Ausnahme beschrieben wird. Dieser Wert ist schreibgeschützt und kann nicht geändert werden, nachdem Exception erstellt wurde. |
Anforderungen
Mindestens unterstützter Client: Windows 8
Mindestens unterstützter Server: Windows Server 2012
Namespace: Platform
Metadaten: platform.winmd
Exception::CreateException-Methode
Erstellt ein Platform::Exception^ aus einem angegebenen HRESULT-Wert.
Syntax
Exception^ CreateException(int32 hr);
Exception^ CreateException(int32 hr, Platform::String^ message);
Parameter
Hr
Ein HRESULT-Wert, den Sie in der Regel aus einem Aufruf an eine COM-Methode erhalten. Wenn der Wert 0 ist, der S_OK entspricht, löst diese Methode Platform::InvalidArgumentException aus, da COM-Methoden, die erfolgreich sind, keine Ausnahmen auslösen sollten.
message
Eine Zeichenfolge, die den Fehler beschreibt.
Rückgabewert
Eine Ausnahme, die den Fehler HRESULT darstellt.
Hinweise
Verwenden Sie diese Methode, um eine Ausnahme aus einem HRESULT zu erstellen, die beispielsweise aus einem Aufruf einer COM-Schnittstellen-Methode zurückgegeben wird. Sie können die Überladung verwenden, die einen String^-Parameter erhält, um eine benutzerdefinierte Meldung bereitzustellen.
Es wird dringend empfohlen, CreateException zu verwenden, um eine stark typierte Ausnahme zu erstellen, anstatt eine Platform::COMException zu erstellen, die lediglich das HRESULT enthält.
Exception::Exception-Konstruktor
Initialisiert eine neue Instanz der Exception-Klasse.
Syntax
Exception(int32 hresult);
Exception(int32 hresult, ::Platform::String^ message);
Parameter
hresult
Der Fehler HRESULT, der durch die Ausnahme repräsentiert wird.
message
Eine vom Benutzer angegebene Meldung, beispielsweise vorschreibender Text, der der Ausnahme zugeordnet ist. Im Allgemeinen sollten Sie die zweite Überladung verwenden, um eine beschreibende Meldung bereitzustellen, die möglichst spezifisch erläutert, wie und warum der Fehler aufgetreten ist.
Exception::HResult-Eigenschaft
Das HRESULT, das der Ausnahme entspricht.
Syntax
public:
property int HResult { int get(); }
Eigenschaftswert
Der HRESULT-Wert.
Hinweise
Die meisten Ausnahmen fangen als COM-Fehler an, die als HRESULT-Werte zurückgegeben werden. C++/CX konvertiert diese Werte in Platform::Exception^-Objekte, und diese Eigenschaft speichert den Wert des ursprünglichen Fehlercodes.
Exception::Message-Eigenschaft
Die Meldung, in der der Fehler beschrieben wird.
Syntax
public:property String^ Message;
Eigenschaftswert
In den Ausnahmen, die aus der Windows Runtime stammen, ist dieses eine vom System bereitgestellte Beschreibung des Fehlers.
Hinweise
In Windows 8 ist diese Eigenschaft schreibgeschützt, da Ausnahmen in dieser Version der Windows-Runtime nur als HRESULTS über die ABI transportiert werden. Bei Windows 8.1 werden umfangreichere Ausnahmeinformationen über die ABI transportiert, und Sie können eine benutzerdefinierte Meldung bereitstellen, auf die andere Komponenten programmgesteuert zugreifen können. Weitere Informationen finden Sie unter Ausnahmen (C++/CX).