9 stable releases
new 1.3.0 | Feb 15, 2025 |
---|---|
1.2.1 | Feb 15, 2025 |
1.0.0 | Jan 31, 2025 |
0.1.2 | Jan 31, 2025 |
#434 in Rust patterns
1,268 downloads per month
Used in 2 crates
15KB
260 lines
This crate provides reusable error messages (PanicMsg
) for use with
panics, assertions (assert
, assert_eq
, assert_ne
), and expect
.
It also includes debug versions of each of these methods (besides expect).
Simply declare a PanicMsg
:
const EXAMPLE_PANIC: PanicMsg = PanicMsg::new("This is an example panic message.");
Then use it like this:
EXAMPLE_PANIC.panic();
// ...
EXAMPLE_PANIC.panic_if(left >= right);
// ...
EXAMPLE_PANIC.assert(left < right);
// ...
EXAMPLE_PANIC.assert_eq(left, right);
// ...
EXAMPLE_PANIC.assert_ne(left, right);
// ...
EXAMPLE_PANIC.expect(option);
// ...
EXAMPLE_PANIC.expect(result);
// ...
EXAMPLE_PANIC.debug_panic();
// ...
EXAMPLE_PANIC.debug_panic_if(left >= right);
// ...
EXAMPLE_PANIC.debug_assert(left < right);
// ...
EXAMPLE_PANIC.debug_assert_eq(left, right);
// ...
EXAMPLE_PANIC.debug_assert_ne(left, right);
lib.rs
:
This crate provides reusable error messages ([PanicMsg]) for use with
panics, assertions (assert
, assert_eq
, assert_ne
), and expect
.
It also includes debug versions of each of these methods (except for expect
).
Simply declare a [PanicMsg]:
const EXAMPLE_PANIC: PanicMsg = PanicMsg::new("This is an example panic message.");
Then use it like this:
EXAMPLE_PANIC.panic();
// ...
EXAMPLE_PANIC.panic_if(left >= right);
// ...
EXAMPLE_PANIC.assert(left < right);
// ...
EXAMPLE_PANIC.assert_eq(left, right);
// ...
EXAMPLE_PANIC.assert_ne(left, right);
// ...
EXAMPLE_PANIC.expect(option);
// ...
EXAMPLE_PANIC.expect(result);
// ...
EXAMPLE_PANIC.debug_panic();
// ...
EXAMPLE_PANIC.debug_panic_if(left >= right);
// ...
EXAMPLE_PANIC.debug_assert(left < right);
// ...
EXAMPLE_PANIC.debug_assert_eq(left, right);
// ...
EXAMPLE_PANIC.debug_assert_ne(left, right);