1个稳定版本
1.0.0 | 2022年7月25日 |
---|
#2183 in Rust模式
每月105次下载
12KB
119 行
⚾ #[catch_panic]
一个辅助宏,用于安全的Java-Rust互操作,它“捕获”Rust的panic并重新抛出为Java异常。
入门
将catch_panic
作为依赖项添加到您的Cargo.toml
[dependencies]
catch_panic = "1.0.0"
用法
将#[catch_panic]
附加到JNI回调,以便将panic转换为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–13MB
~100K SLoC