1 个稳定版本
1.0.0 | 2022年7月25日 |
---|
#63 in #jni
117 每月下载次数
在 catch_panic 中使用
6KB
95 行
⚾ #[catch_panic]
一个用于安全 Java-Rust 互操作的帮助宏,它“捕获”Rust 的恐慌并将它们重新抛出为 Java 异常。
入门指南
将 catch_panic
添加到您的 Cargo.toml
依赖项中
[dependencies]
catch_panic = "1.0.0"
用法
将 #[catch_panic]
添加到 JNI 回调中,以便将恐慌转换为 RuntimeException
use jni::JNIEnv;
use catch_panic::catch_panic;
#[no_mangle]
#[catch_panic]
pub extern "C" fn Java_com_example_Example_panic(_env: JNIEnv) {
panic!("everything is not fine");
}
请参阅 文档 了解宏选项和其他信息。
许可证
此存储库可在以下任一许可证下使用:
由您选择。
除非您明确表示,否则任何有意提交以包含在您的工作中的贡献,根据 Apache-2.0 许可证定义,都应按上述方式双重许可,不附加任何额外条款或条件。
此存储库中的代码是来自 HermitSocialClub/HermitRepo 的代码的衍生作品,具体为文件 ProjectTomato/tomato_macros/src/lib.rs
和 ProjectTomato/tomato/src/util.rs
。这两个文件的作者都已同意将原始代码重新许可为上述许可证。
依赖项
~1.5MB
~36K SLoC