Класс Platform::Exception

Представляет ошибки, которые происходят во время выполнения приложения. Пользовательские классы исключений не могут быть производными от класса Platform::Exception. Если требуется пользовательское исключение, можно использовать класс Platform::COMException и указать относящееся к приложению значение HRESULT.

Синтаксис

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

Участники

Класс Exception наследуется от класса Object и интерфейсов IException, IPrintableи IEquatable .

Класс Exception имеет также следующие типы членов.

Конструкторы

Элемент Description
Exception::Exception Инициализирует новый экземпляр класса Exception.

Методы

Класс Exception наследует методы Equals(), Finalize(),GetHashCode(),GetType(),MemberwiseClose()и ToString() из Platform::Object Class. Класс Exception содержит также следующий метод.

Элемент Description
Exception::CreateException Создает исключение, представляющее указанное значение HRESULT.

Свойства

Класс Exception также содержит следующие свойства.

Элемент Description
Исключение::HResult Значение HRESULT, соответствующее исключению.
Exception::Message Сообщение, описывающее исключение. Это значение доступно только для чтения, его нельзя изменить после создания Exception .

Требования

Минимальный поддерживаемый клиент: Windows 8

Минимальный поддерживаемый сервер: Windows Server 2012

Пространство имен: Platform

Метаданные: platform.winmd

Метод Exception::CreateException

Создает Platform::Exception^ из указанного значения HRESULT.

Синтаксис

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

Параметры

Hr
Значение HRESULT, которое, как правило, получается из вызова метода COM. Если значение равно 0, равное S_OK, этот метод создает исключение Platform::InvalidArgumentException , так как методы COM, которые успешно не должны вызывать исключения.

message
Строка с описанием ошибки.

Возвращаемое значение

Исключение, представляющее HRESULT ошибки.

Замечания

Используйте этот метод для создания исключения из значения HRESULT, возвращаемого, например, из вызова интерфейса COM. Можно использовать перегруженный метод, принимающий параметр String^, чтобы предоставить пользовательское сообщение.

Настоятельно рекомендуется использовать CreateException для создания строго типизированного исключения, а не создания Platform::COMException , который просто содержит HRESULT.

Конструктор 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.

Замечания

Большинство исключений создаются как ошибки модели COM, которые возвращаются в виде значений HRESULT. C++/CX преобразует эти значения в объекты Platform::Exception^, и это свойство сохраняет значение исходного кода ошибки.

Свойство Exception::Message

Сообщение с описанием ошибки.

Синтаксис

public:property String^ Message;

Значение свойства

В исключениях, создаваемых в среде выполнения Windows, это предоставляемое системой описание ошибки.

Замечания

В Windows 8 это свойство доступно только для чтения, так как исключения в этой версии среда выполнения Windows передаются через ABI только как HRESULTS. В Windows 8.1 через интерфейс ABI передается более подробная информация об исключениях, и можно задать пользовательское сообщение, к которому другие компоненты могут обращаться программным образом. Дополнительные сведения см. в разделе "Исключения" (C++/CX).

См. также

Пространство имен Platform