Platform::Exception 类

表示在应用程序执行期间出现的错误。 自定义异常类不能从 Platform::Exception派生。 如果需要自定义异常,可以使用 Platform::COMException 并指定应用程序特定的 HRESULT。

语法

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

成员

Exception 类继承自 Object 类、 IExceptionIPrintableIEquatable 接口。

Exception 还具有以下类型的成员。

构造函数

成员 说明
Exception::Exception 初始化 Exception 类的新实例。

方法

Exception 类从 Platform::Object 类 继承 Equals()Finalize()GetHashCode()GetType()MemberwiseClose()ToString() 方法。 Exception 类还具有以下方法。

成员 说明
Exception::CreateException 创建表示指定 HRESULT 值的异常。

属性

此异常类还具有以下属性。

成员 说明
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);

参数

hr
调用 COM 方法时通常获取的 HRESULT 值。 如果该值为 0(等同于 S_OK),此方法将引发 Platform::InvalidArgumentException,因为成功的 COM 方法不应引发异常。

message
描述错误的字符串。

返回值

表示错误 HRESULT 的异常。

注解

使用此方法可基于返回的 HRESULT(例如,调用 COM 接口方法时返回的 HRESULT)创建异常。 您可以使用带 String^ 参数的重载提供自定义消息。

强烈建议使用 CreateException 创建强类型的异常,而不是创建仅包含 HRESULT 的 Platform::COMException

Exception::Exception 构造函数

初始化 Exception 类的新实例。

语法

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

parameters

hresult
由异常表示的错误 HRESULT。

message
用户指定的与异常相关联的消息,例如指导性文本。 一般情况下,您应该会希望使用第二个重载,以便就错误的发生方式和原因提供尽可能具体的描述性消息。

Exception::HResult 属性

与异常相对应的 HRESULT。

语法

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

属性值

HRESULT 值。

注解

大多数异常都以 COM 错误形式出现,这类错误会返回为 HRESULT 值。 C++/CX 会将这些值转换为 Platform::Exception^ 对象,此属性则存储原始错误代码的值。

Exception::Message 属性

描述错误的消息。

语法

public:property String^ Message;

属性值

对于 Windows 运行时中出现的异常,这是系统提供的错误描述。

备注

在 Windows 8 中,此属性是只读的,因为该 Windows 运行时版本中的异常仅作为 HRESULT 跨 ABI 传输。 在 Windows 8.1 中,可跨 ABI 传输更加丰富的异常信息,你可以提供自定义消息,供其他组件以编程方式进行访问。 有关详细信息,请参阅异常 (C++/CX)

另请参阅

Platform 命名空间