Trait pyo3_error::AnyErrorToPyErr
source · pub trait AnyErrorToPyErr {
// Required methods
fn try_from_err<T: MapErrorToPyErr>(
py: Python<'_>,
err: Box<dyn Error + 'static>,
) -> Result<PyErr, Box<dyn Error + 'static>>;
fn try_from_err_ref<T: MapErrorToPyErr>(
py: Python<'_>,
err: &(dyn Error + 'static),
) -> Option<PyErr>;
}Expand description
Utility trait to try to translate from std::error::Error to PyErr.
ErrorNoPyErr may be used to always fail at translating.
IoErrorToPyErr may be used to translate std::io::Error to PyErr.
Required Methods§
sourcefn try_from_err<T: MapErrorToPyErr>(
py: Python<'_>,
err: Box<dyn Error + 'static>,
) -> Result<PyErr, Box<dyn Error + 'static>>
fn try_from_err<T: MapErrorToPyErr>( py: Python<'_>, err: Box<dyn Error + 'static>, ) -> Result<PyErr, Box<dyn Error + 'static>>
Try to translate from a boxed err to a PyErr, or return the err.
When a strongly typed translation from some specific error type E to a
PyErr is attempted, MapErrorToPyErr::try_map should be used to allow
the mapper to test for E in addition to wrapped errors such as
MyError<E>.
§Errors
Returns the original err if translating to a PyErr failed.
sourcefn try_from_err_ref<T: MapErrorToPyErr>(
py: Python<'_>,
err: &(dyn Error + 'static),
) -> Option<PyErr>
fn try_from_err_ref<T: MapErrorToPyErr>( py: Python<'_>, err: &(dyn Error + 'static), ) -> Option<PyErr>
Try to translate from an err reference to a PyErr, or return
None.
When a strongly typed translation from some specific error type E to a
PyErr is attempted, MapErrorToPyErr::try_map_ref should be used to
allow the mapper to test for E in addition to wrapped errors such as
MyError<E>.