未处理的异常:将无效参数传递给在 UWP 应用程序中将无效参数视为致命的函数

问题描述 投票:0回答:1

所以我正在为我的学校项目制作一个多项式简化器。我决定在 Visual Studio 中使用 C++ UWP 制作应用程序。

作为应用程序的额外功能之一,我实现了一个系统来存储和检索文件中的多项式,以便您可以访问之前输入的多项式。我为此使用

boost::filesystem
。该代码编译良好。但是在调试时,这个功能:

fs::exists(basePath) // namespace fs = boost::filesystem

...以某种方式导致以下异常:

0x00007FFBB71AAFEC (ucrtbased.dll) 处未处理的异常 ExpressionSimplifierV4 UWP.exe:传递了无效参数 认为无效参数致命的函数。

..从这条线抛出:

rootFrame->Navigate(TypeName(MainPage::typeid), e->Arguments); // App.xaml.cpp

此异常的原因是什么,如何解决?

c++ uwp c++-winrt
1个回答
0
投票

编写 UWP 应用程序时,请注意它们“按设计”在“锁定”环境中运行。一方面是他们对文件系统的访问非常有限。 UWP 应用程序默认具有:

  • 只读

    访问其自己的安装目录(通常是启动时的“当前工作目录”)。这是Windows.ApplicationModel.Package.Current.InstalledLocation所指出的。

    
    

  • 读/写

    访问其自己的每用户应用程序数据目录。 非漫游版本是ApplicationData.Current.LocalFolder

    漫游
    版本是ApplicationData.Current.RoamingFolder
    
    

  • 读/写

    对每个用户应用程序临时目录的访问权限,该目录在将来调用应用程序时可能存在也可能不存在。这是ApplicationData.Current.TemporaryFolder

    
    

  • 默认情况下,任何访问上述文件夹以外的文件夹的尝试都将
失败

请参阅

Microsoft 文档

© www.soinside.com 2019 - 2024. All rights reserved.