Platform::Exception 类
表示在应用程序执行期间出现的错误。 自定义异常类不能从 Platform::Exception
派生。 如果需要自定义异常,可以使用 Platform::COMException
并指定应用程序特定的 HRESULT。
语法
public ref class Exception : Object, IException, IPrintable, IEquatable
成员
Exception
类继承自 Object
类、 IException
、 IPrintable
和 IEquatable
接口。
Exception
还具有以下类型的成员。
构造函数
成员 | 说明 |
---|---|
Exception::Exception | 初始化 Exception 类的新实例。 |
方法
该Exception
类从 Platform::Object 类继承 Equals()
GetType()
GetHashCode()
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)。