Platform::Uitzonderingsklasse
Vertegenwoordigt fouten die optreden tijdens het uitvoeren van de toepassing. Aangepaste uitzonderingsklassen kunnen niet worden afgeleid van Platform::Exception
. Als u een aangepaste uitzondering nodig hebt, kunt u Platform::COMException
gebruiken en een app-specifiek HRESULT opgeven.
Syntaxis
public ref class Exception : Object, IException, IPrintable, IEquatable
Leden
De Exception
-klasse neemt over van de Object
-klasse en de IException
-, IPrintable
- en IEquatable
-interfaces.
De Exception
-klasse heeft ook de volgende soorten leden.
Constructeurs
Lid | Beschrijving |
---|---|
uitzondering::Uitzonderings- | Initialiseert een nieuw exemplaar van de klasse Exception . |
Methoden
De Exception
-klasse neemt de methoden Equals()
, Finalize()
, GetHashCode()
, GetType()
, MemberwiseClose()
en ToString()
over van de Platform::Objectklasse. De klasse Exception
heeft ook de volgende methode.
Lid | Beschrijving |
---|---|
Uitzondering::CreateException- | Hiermee maakt u een uitzondering die de opgegeven HRESULT-waarde vertegenwoordigt. |
Eigenschappen
De uitzonderingsklasse heeft ook de volgende eigenschappen.
Lid | Beschrijving |
---|---|
Uitzondering::HResult- | Het HRESULT dat overeenkomt met de uitzondering. |
uitzondering::Bericht | Een bericht waarin de uitzondering wordt beschreven. Deze waarde is alleen-lezen en kan niet worden gewijzigd nadat de Exception is samengesteld. |
Eisen
Minimaal ondersteunde client: Windows 8
Minimaal ondersteunde server: Windows Server 2012
naamruimte: Platform
Metagegevens: platform.winmd
Uitzondering::CreateException-methode
Hiermee maakt u een Platform::Exception^ op basis van een opgegeven HRESULT-waarde.
Syntaxis
Exception^ CreateException(int32 hr);
Exception^ CreateException(int32 hr, Platform::String^ message);
Parameters
hr-
Een HRESULT-waarde die u doorgaans krijgt van een aanroep naar een COM-methode. Als de waarde 0 is, die gelijk is aan S_OK, genereert deze methode Platform::InvalidArgumentException omdat COM-methoden die slagen geen uitzonderingen mogen genereren.
bericht
Een tekenreeks die de fout beschrijft.
Retourwaarde
Een uitzondering die de fout HRESULT vertegenwoordigt.
Opmerkingen
Gebruik deze methode om een uitzondering te maken op basis van een HRESULT die wordt geretourneerd, bijvoorbeeld van een aanroep naar een COM-interfacemethode. U kunt de overbelasting gebruiken die een string^-parameter gebruikt om een aangepast bericht op te geven.
Het wordt sterk aanbevolen om CreateException te gebruiken om een sterk getypte uitzondering te maken in plaats van een Platform::COMException- te maken die alleen het HRESULT bevat.
Uitzondering::Uitzonderingsconstructor
Hiermee wordt een nieuw exemplaar van de uitzonderingsklasse geïnitialiseerd.
Syntaxis
Exception(int32 hresult);
Exception(int32 hresult, ::Platform::String^ message);
Parameters
hresult-
De fout HRESULT die wordt vertegenwoordigd door de uitzondering.
bericht
Een door de gebruiker opgegeven bericht, zoals prescriptieve tekst, dat is gekoppeld aan de uitzondering. Over het algemeen moet u de voorkeur geven aan de tweede overbelasting om een beschrijvend bericht te geven dat zo specifiek mogelijk is over hoe en waarom de fout is opgetreden.
Uitzondering::HResult-eigenschap
Het HRESULT dat overeenkomt met de uitzondering.
Syntaxis
public:
property int HResult { int get(); }
Eigenschapswaarde
Een HRESULT-waarde.
Opmerkingen
De meeste uitzonderingen beginnen als COM-fouten, die worden geretourneerd als HRESULT-waarden. C++/CX converteert deze waarden naar Platform::Exception^-objecten en met deze eigenschap wordt de waarde van de oorspronkelijke foutcode opgeslagen.
Uitzondering::Berichteigenschap
Bericht waarin de fout wordt beschreven.
Syntaxis
public:
property String^ Message;
Eigenschapswaarde
In uitzonderingen die afkomstig zijn uit Windows Runtime, is dit een door het systeem geleverde beschrijving van de fout.
Opmerkingen
In Windows 8 is deze eigenschap alleen-lezen omdat uitzonderingen in die versie van Windows Runtime alleen als HRESULTS worden vervoerd in de ABI. In Windows 8.1 wordt uitgebreidere uitzonderingsinformatie over de ABI verzonden en kunt u een aangepast bericht opgeven dat andere onderdelen programmatisch kunnen openen. Zie Uitzonderingen (C++/CX)voor meer informatie.