加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何处理从SW到SWIG到Java的异常

发布时间:2020-12-15 00:39:34 所属栏目:Java 来源:网络整理
导读:我们正在实现C代码的包装器以接触 Java客户端.我已经看过 SWIG documents about exception handling,但这在三层(C / SWIG / Java)的编码术语中有什么意义呢? 如果有人有工作实例或建议,我将不胜感激. 解决方法 因为我已经和我搏斗了(从我的个人资料中查看我
我们正在实现C代码的包装器以接触 Java客户端.我已经看过 SWIG documents about exception handling,但这在三层(C / SWIG / Java)的编码术语中有什么意义呢?

如果有人有工作实例或建议,我将不胜感激.

解决方法

因为我已经和我搏斗了(从我的个人资料中查看我的博客,它是关于python,SWIG,异常和导演但应该有帮助)让我给你一些建议:

>不要将C异常发送到Java堆栈.它会使你的应用程序崩溃.确保它们都以正确的方式包裹.我知道你在问这个问题,但是你必须明白这一点.一个错过的例外就可以解决这个问题.
>不要尝试将Java异常传递到C堆栈,它们会转换为SWIGDirectorExceptions或SWIGMethodExceptions.这是一个真正的痛苦,因为您丢失了Java异常的类型信息.相反,如果你不是在处理一个控制器,那么创建一个C类,除了引发C异常之外什么也不做,这样你就可以在C堆栈中传播C异常.
>在std :: string中包装从Java传递给C的所有裸字符串.如果将它们保存为const char指针,Java将具有垃圾收集它们的选项.所有项目都是如此,但它是一个容易被忽视的项目,我已经完成了它并且已经看过几次了.

之后,请不要阅读1.1.使用2.0或1.3中的文档.它更清楚了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读