Expand description
Error handling utilities.
Made into a separate crate so that it can be used in places where
risingwave_common
is not available or not desired.
The crate is also re-exported in risingwave_common::error
for easy
access if risingwave_common
is already a dependency.
Re-exports§
pub use thiserror_ext;
Modules§
- Commonly used error types.
Macros§
- Return early with an error, in any type that can be converted from an
anyhow::Error
. - Constructs a
NoFunction
and bails out. - Constructs a
NotImplemented
and bails out. - Define a newtype wrapper around
anyhow::Error
. - Define a newtype + it’s variant in the specified type. This is useful when you want to define a new error type, but also want to define a variant for it in another enum.
- Util macro for generating error when condition check failed.
- Util macro to generate error when the two arguments are not equal.
- Match an enum variant and return the internal value.
- Constructs a
NoFunction
. - Constructs a
NotImplemented
. - Try to match an enum variant and return the internal value.
Structs§
- A wrapper around an error that provides a cleaned up error trace for display and debug formatting.
Traits§
- Extension trait for
Error
that casts the error to a trait object.
Type Aliases§
Derive Macros§
- Generates a new type that wraps the original error type in an
Arc
. - Generates a new type that wraps the original error type in a [
struct@Box
]. - Generates constructor functions for different variants of the error type.
- Generates extension traits for converting the external error type into the the provided one, with extra context.
- Generates macros for different variants of the error type to construct it or directly bail out.
- Generates the [
Debug
] implementation that delegates to theReport
of an error.