Я создаю пользовательскую библиотеку компонентов C ++ WinRT для использования третьими лицами.Я не могу определить, каковы «лучшие практики» для сообщения / распространения условий ошибок во время выполнения из моей библиотеки.
Я нашел эту статью, в которой подробно описываются лучшие методы для обработки исключений и пересечения ABR WinRT через HRESULT: https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/error-handling.
Однако мне неясно, что делать для пользовательских (исключительных) ошибок.Я хотел бы следовать современным практикам c ++ и генерировать std :: runtime_errors, но в документации WinRT говорится, что он зарезервирован для отображения ошибок стандартной библиотеки в 'E_FAIL' HRESULT.Должен ли я следовать модели COM и реализовывать пользовательские значения HRESULT, просто чтобы их выбросить?