#visual-studio #asynchronous #uwp #task #c -cx
#visual-studio #асинхронный #uwp #задача #c -cx
Вопрос:
У меня есть следующие асинхронные программные коды, которые извлекают файл из UWP
пакета приложений:
Uri ^source = ref new Uri("ms-appx:///head.html");
auto getFileTask = create_task(StorageFile::GetFileFromApplicationUriAsync(source));
Когда я запускаю код в режиме Visual Studio 2017
in Debug x86
, он работает нормально. Однако его запуск в Debug x64
приводит к сбою приложения со следующей ошибкой:
HRESULT:0x80070002 The system cannot find the file specified.
WinRT information: The system cannot find the file specified.
и Visual Studio разрывает файл ppltasks.h
в этом коде:
__declspec(noinline)
~_ExceptionHolder()
{
if (_M_exceptionObserved == 0)
{
// If you are trapped here, it means an exception thrown in task chain didn't get handled.
// Please add task-based continuation to handle all exceptions coming from tasks.
// this->_M_stackTrace keeps the creation callstack of the task generates this exception.
_REPORT_PPLTASK_UNOBSERVED_EXCEPTION();
}
}
Любая помощь?
Комментарии:
1. Что вы делаете с
getFileTask
?GetFileFromApplicationUriAsync
Произошел сбой, но ваш код не обработал сбой.2. С @RaymondChen пока ничего не делается
getFileTask
. Как справиться с ошибкой? Включение atry...catch
приводит к той же ошибке.3. В
GetFileFromApplicationUriAsync
возникло исключение, но вы его не обработали. Вы можете увидеть пример обработки ошибок в примере FileAccess, сценарий 1 . Возможно, вы захотите переключиться с C / CX (нестандартное расширение) на C / WinRT (стандартный C ). Вот версия C / WinRT .