Macro rigetti_pyo3::py_wrap_error
source · macro_rules! py_wrap_error { ($module: ident, $rust: ty, $python: ident, $base: ty) => { ... }; }
Expand description
Creates a new exception type and implements converting from the given Rust error to the new exception.
The Rust error type must at least implement ToString. All types
that implement Error implement this through
Display.
use rigetti_pyo3::py_wrap_error;
use rigetti_pyo3::pyo3::exceptions::PyValueError;
use std::fmt;
#[derive(Debug)]
enum RustError {}
impl fmt::Display for RustError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
unimplemented!()
}
}
impl std::error::Error for RustError {}
py_wrap_error!(my_python_module, RustError, PythonError, PyValueError);