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
, IPrintable
e IEquatable
.
La classe Exception
dispone dei seguenti generi di membri.
Costruttori
Membro | Descrizione |
---|---|
Exception::Exception | Inizializza una nuova istanza della classe Exception . |
Metodi
La Exception
classe eredita i Equals()
metodi , Finalize()
, GetType()
GetHashCode()
, MemberwiseClose()
, e ToString()
dalla classe Platform::Object. 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).