Platform::Exception-Klasse

Stellt Fehler dar, die bei der Anwendungsausführung auftreten. Benutzerdefinierte Ausnahmeklassen können nicht von Platform::Exceptionabgeleitet 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, IPrintableund 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 Methoden Equals(), Finalize(),GetHashCode(),GetType(),MemberwiseClose()und ToString() von Platform::Object Classabgeleitet werden. 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.

Nachricht
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.

Nachricht
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).

Siehe auch

Plattformnamespace