gpt4 book ai didi

.NET PInvoke 异常处理

转载 作者:行者123 更新时间:2023-12-02 15:02:01 28 4
gpt4 key购买 nike

使用 PInvoke 时可能会发生哪些异常,或者所有错误均由方法返回值处理,并且由开发人员检查并在需要时引发异常?

最佳答案

对于 P/Invoke,可以肯定地说您需要处理两种类型的错误。

  1. P/Invoke 本身抛出的异常。
  2. 您调用的 dll 返回的错误/

对于第 1 组,可能会出现一些异常(exception)情况(不是最终列表):

  • EntryPointNotFoundException
  • 执行引擎异常
  • 缺少方法异常
  • NotSupportedException

对于第 2 组,您需要检查 P/Invoked 方法/函数调用的返回结果并采取适当的措施。 Marshal.GetLastWin32Error() 在这里派上用场。

这就是为什么最好为您需要使用的任何 native 内容创建包装类。这样您就可以将返回结果转换为异常并将托管代码和 native 代码分开。

关于.NET PInvoke 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1555311/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com