我正在尝试创建一个扩展来包装现有的 DLL,而不需要广泛的 C/++ 知识。我已经使用示例扩展作为基础,一切似乎都工作正常,我想做的是在我的 dll 中进行一些错误处理。
如果 dll 中的某些内容失败,是否有办法将自定义错误发送回 dart?是否只是发送的情况?比如说一个数组,第一个参数是一个布尔值,说明它是否失败,第二个参数是一个错误字符串,如果有的话。还是有一种实际的方法可以从 dll 本身抛出错误?
希望这是有道理的,谢谢,
我正在尝试创建一个扩展来包装现有的 DLL,而不需要广泛的 C/++ 知识。我已经使用示例扩展作为基础,一切似乎都工作正常,我想做的是在我的 dll 中进行一些错误处理。
如果 dll 中的某些内容失败,是否有办法将自定义错误发送回 dart?是否只是发送的情况?比如说一个数组,第一个参数是一个布尔值,说明它是否失败,第二个参数是一个错误字符串,如果有的话。还是有一种实际的方法可以从 dll 本身抛出错误?
希望这是有道理的,谢谢,
你应该看看里面的dart_api.h
文件,它包含很多关于 Dart 原生东西的评论。
我在那里找到Dart_ThrowException
了功能,但也有一条评论说Dart_NewUnhandledExceptionError
应该使用它。
这两个函数都需要一个 Dart 异常对象句柄。似乎 Dart 团队使用他们自己的Dart Util 库来创建它们:
Dart_ThrowException(DartUtils::NewDartArgumentError("error message"))