Platform::Exception (classe)

Rappresenta gli errori che si verificano durante l'esecuzione dell'applicazione. Le classi di eccezione personalizzate non possono essere derivate da Platform::Exception. Se devi utilizzare un'eccezione personalizzata, puoi utilizzare Platform::COMException e specificare un valore HRESULT specifico dell'applicazione.

Sintassi

public ref class Exception : Object,    IException,    IPrintable,    IEquatable

Membri

La classe Exception eredita dalla classe Object e dalle interfacce IException, IPrintablee IEquatable .

La classe Exception dispone dei seguenti generi di membri.

Costruttori

Membro Descrizione
Exception::Exception Inizializza una nuova istanza della classe Exception.

Metodi

La classe Exception eredita i metodi Equals(), Finalize(),GetHashCode(),GetType(),MemberwiseClose()e ToString() da Platform::Object Class. La classe Exception include anche il metodo seguente.

Membro Descrizione
Exception::CreateException Crea un'eccezione che rappresenta il valore HRESULT specificato.

Proprietà

La classe Exception presenta inoltre le proprietà seguenti.

Membro Descrizione
Eccezione::HResult Valore HRESULT corrispondente all'eccezione.
Eccezione::Message Messaggio che descrive l'eccezione. Questo valore è di sola lettura e non può essere modificato una volta costruito Exception .

Requisiti

Client minimo supportato: Windows 8

Server minimo supportato: Windows Server 2012

Spazio dei nomi: Platform

Metadati: platform.winmd

Metodo Exception::CreateException

Crea Platform::Exception^ da un valore HRESULT specificato.

Sintassi

Exception^ CreateException(int32 hr);
Exception^ CreateException(int32 hr, Platform::String^ message);

Parametri

Hr
Valore HRESULT che in genere si ottiene da una chiamata a un metodo COM. Se il valore è 0, uguale a S_OK, questo metodo genera Platform::InvalidArgumentException perché i metodi COM con esito positivo non generano eccezioni.

message
Stringa che descrive l'errore.

Valore restituito

Eccezione che rappresenta il valore HRESULT dell'errore.

Osservazioni:

Utilizza questo metodo per creare un'eccezione da un valore HRESULT restituito, ad esempio, da una chiamata a un metodo di un'interfaccia COM. Puoi utilizzare l'overload che accetta un parametro String^ per fornire un messaggio personalizzato.

È consigliabile usare CreateException per creare un'eccezione fortemente tipizzata anziché creare un'eccezione Platform::COMException che contiene semplicemente HRESULT.

Costruttore Exception::Exception

Inizializza una nuova istanza della classe Exception.

Sintassi

Exception(int32 hresult);
Exception(int32 hresult, ::Platform::String^ message);

Parametri

hresult
Errore HRESULT rappresentato dall'eccezione.

message
Messaggio specifico dell'utente, ad esempio del testo prescrittivo, associato all'eccezione. In genere dovresti preferire il secondo overload per fornire un messaggio descrittivo che sia il più possibile specifico su come e perché si è verificato l'errore.

Proprietà Exception::HResult

Valore HRESULT corrispondente all'eccezione.

Sintassi

public:
    property int HResult { int get(); }

Valore della proprietà

Valore HRESULT.

Osservazioni:

La maggior parte delle eccezioni inizia come errori COM, che vengono restituiti come valori HRESULT. C++/CX converte questi valori in oggetti Platform::Exception^ e la proprietà archivia il valore del codice di errore originale.

Proprietà Exception::Message

Messaggio in cui viene descritto l'errore.

Sintassi

public:property String^ Message;

Valore della proprietà

Nelle eccezioni originate da Windows Runtime, si tratta di una descrizione dell'errore fornita dal sistema.

Osservazioni:

In Windows 8 questa proprietà è di sola lettura perché le eccezioni in tale versione di Windows Runtime vengono trasportate in ABI solo come HRESULTS. In Windows 8.1 e versioni successive le informazioni sull'eccezione più dettagliate viene trasportate tramite ABI ed puoi fornire un messaggio personalizzato a cui altri componenti possono accedere a livello di codice. Per altre informazioni, vedere Eccezioni (C++/CX).

Vedi anche

Spazio dei nomi Platform