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

前端之家收集整理的这篇文章主要介绍了如何处理从SW到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中的文档.它更清楚了.

原文链接:https://www.f2er.com/java/129383.html

猜你在找的Java相关文章