方法StorageFolder.GetFolderAsync应该抛出FileNotFoundException
,但我无法在任何地方找到它。我怎么应该处理异常抛出呢?
答案 0 :(得分:2)
StorageFolder.GetFolderAsync文档的C ++ / CX版本没有考虑到C ++ / CX中实现的异常处理(参见Exceptions (C++/CX)):
平台命名空间为最常见的HRESULT值定义了不同的异常类;所有其他值都通过Platform::COMException类报告。
System Namespace是.NET框架的一部分。因此,它不适用于C ++ / CX代码。仅当从.NET调用该函数时,才会抛出GetFolderAsync
文档中列出的异常。
从C ++ / CX调用时,GetFolderAsync
会通过Platform::COMException
报告失败。 System.IO.FileNotFoundException
的等效项是例外情况,HRESULT
设置为HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
(0x80070002)。
C ++ / CX异常处理程序应该捕获Platform::COMException
(或Platform::Exception),并检查Exception::HResult property以识别特定的异常类型。
<小时/> 参考文献: