7.3.1 错误处理:QR 示例
01-错误处理:QR 示例 — Comprehensive Rust
1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/chromium/interoperability-with-cpp/error-handling.html
CXX 对 Result<T,E> 的支持依赖 C++ 异常,因此我们不能在 Chromium 中使用它。替代方案:
Result<T, E> 的 T 部分可以:
&mut T)。这要求 T 能跨 FFI 边界传递——例如 T 必须是:u32 或 usize)cxx 原生支持、且在失败情形有合适默认值的类型(如 UniquePtr<T>)(不像 Box<T>)。T 是不能跨 FFI 边界传递、也不能存储在 UniquePtr<T> 中的 Rust 类型时,可能需要这样做。Result<T, E> 的 E 部分可以:
true 表示成功,false 表示失败)01-错误处理:QR 示例 — Comprehensive Rust
02-错误处理:PNG 示例 — Comprehensive Rust