1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2016 年 10 月 10 日 |
---|
#49 in #guard
7KB
118 行
Bulwark
Bulwark 是 "作用域守卫" 的实现,是一些在当前作用域退出时执行的代码片段。
scope_exit! { ... }
在周围作用域退出时执行代码块。scope_success! { ... }
仅在周围作用域在没有引发恐慌的情况下退出时执行代码块。scope_failure! { ... }
仅在周围作用域由于恐慌而退出时执行代码块。
Cargo.toml
[dependencies]
bulwark = "0.1.0"
示例
代码:
#[macro_use]
extern crate bulwark;
fn main() {
scope_failure! {
println!("The main thread has panicked!");
}
{
scope_exit! {
println!("Leaving inner scope.");
}
scope_success! {
println!("Never printed, because of the below panic in this scope.");
}
println!("In the inner scope.");
panic!("Woman overboard!");
}
println!("End of main never reached, but the scope_failure still runs.");
}
输出:
In the inner scope.
thread 'main' panicked at 'Woman overboard!', src/main.rs:19
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Leaving inner scope.
The main thread has panicked!
许可证
许可协议为以下两者之一
- Apache 许可证 2.0 版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT),由您选择。
贡献
除非您明确声明,否则您提交给工作内容的任何有意贡献都应按照上述协议双重许可,不附加任何额外条款或条件。
依赖项
~7KB