Platform::Exception 類別

代表應用程式執行期間所發生的錯誤。 自訂例外狀況類別不能衍生自 Platform::Exception類別。 如果您需要自訂例外狀況,您可以使用 Platform::COMException 並指定應用程式特定的 HRESULT。

語法

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

成員

Exception 類別繼承自 Object 類別及 IExceptionIPrintableIEquatable 介面。

Exception 類別也有下列幾種成員。

建構函式

member 描述
Exception::Exception 初始化 Exception 類別的新執行個體。

方法

類別 ExceptionEquals() Platform::Object 類別 繼承 、 Finalize()GetHashCode() 、、 GetType()MemberwiseClose()ToString() 方法。 Exception 類別也有下列方法。

member 描述
Exception::CreateException 建立表示指定 HRESULT 值的例外狀況。

屬性

Exception 類別也有下列屬性。

member 描述
Exception::HResult 對應於例外狀況的 HRESULT。
Exception::Message 描述例外狀況的訊息。 此值是唯讀,在 Exception 建構之後就無法修改。

需求

最低支援用戶端: Windows 8

最低支援伺服器: Windows Server 2012

命名空間: Platform

中繼資料: platform.winmd

Exception::CreateException 方法

從指定的 HRESULT 值建立 Platform::Exception^。

語法

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

參數

人力資源
HRESULT 值,通常從 COM 方法的呼叫中取得。 如果值為 0,等於S_OK,這個方法會 擲回 Platform::InvalidArgumentException ,因為成功的 COM 方法不應該擲回例外狀況。

message
描述錯誤的字串。

傳回值

表示錯誤 HRESULT 的例外狀況。

備註

使用這個方法,從傳回的 HRESULT (例如從 COM 介面方法的呼叫中取得) 建立例外狀況。 您可以使用可接受 String^ 參數的多載,提供自訂訊息。

強烈建議使用 CreateException 來建立強型別例外狀況,而不是建立 僅包含 HRESULT 的 Platform::COMException

Exception::Exception 建構函式

初始化 Exception 類別的新執行個體。

語法

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

參數

hresult
由例外狀況表示的錯誤 HRESULT。

message
使用者指定的訊息 (例如規範文字),與例外狀況關聯。 通常您應該最好使用第二個多載,以提供有關發生錯誤的情形和原因、盡可能詳細的描述性訊息。

Exception::HResult 屬性

對應於例外狀況的 HRESULT。

語法

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

屬性值

HRESULT 值。

備註

大部分的例外狀況都是以 HRESULT 值傳回的 COM 錯誤開始。 C++/CX 會將這些值轉換為 Platform::Exception^ 物件,這個屬性儲存原始錯誤碼的值。

Exception::Message 屬性

描述錯誤的訊息。

語法

public:property String^ Message;

屬性值

針對肇因於 Windows 執行階段的例外狀況,這是系統提供的錯誤說明。

備註

在 Windows 8 中,此屬性是唯讀的,因為該Windows 執行階段版本中的例外狀況只會以 HRESULTS 的形式跨 ABI 傳輸。 在 Windows 8.1 (含) 以後版本,跨 ABI 傳輸更豐富的例外狀況資訊,而且您可以提供其他元件可透過程式設計方式存取的自訂訊息。 如需詳細資訊,請參閱 例外狀況(C++/CX)。

另請參閱

平台命名空間