Platform::Exception 類別
代表應用程式執行期間所發生的錯誤。 自訂例外狀況類別不能衍生自 Platform::Exception
類別。 如果您需要自訂例外狀況,您可以使用 Platform::COMException
並指定應用程式特定的 HRESULT。
語法
public ref class Exception : Object, IException, IPrintable, IEquatable
成員
Exception
類別繼承自 Object
類別及 IException
、 IPrintable
和 IEquatable
介面。
Exception
類別也有下列幾種成員。
建構函式
member | 描述 |
---|---|
Exception::Exception | 初始化 Exception 類別的新執行個體。 |
方法
類別會從 Platform::Object 類別繼承 、 MemberwiseClose()
Finalize()
GetHashCode()
GetType()
和 ToString()
方法。Equals()
Exception
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)。