Struct crates_index::error::GitError
source · pub struct GitError { /* private fields */ }
Expand description
A structure to represent errors coming out of libgit2.
Implementations§
source§impl Error
impl Error
sourcepub fn new<S>(code: ErrorCode, class: ErrorClass, message: S) -> Errorwhere
S: AsRef<str>,
pub fn new<S>(code: ErrorCode, class: ErrorClass, message: S) -> Errorwhere S: AsRef<str>,
Creates a new error.
This is mainly intended for implementers of custom transports or
database backends, where it is desirable to propagate an Error
through libgit2
.
sourcepub fn last_error(code: i32) -> Option<Error>
pub fn last_error(code: i32) -> Option<Error>
Returns the last error that happened with the code specified by code
.
The code
argument typically comes from the return value of a function
call. This code will later be returned from the code
function.
Historically this function returned Some
or None
based on the return
value of git_error_last
but nowadays it always returns Some
so it’s
safe to unwrap the return value. This API will change in the next major
version.
sourcepub fn from_str(s: &str) -> Error
pub fn from_str(s: &str) -> Error
Creates a new error from the given string as the error.
The error returned will have the code GIT_ERROR
and the class
GIT_ERROR_NONE
.
sourcepub fn code(&self) -> ErrorCode
pub fn code(&self) -> ErrorCode
Return the error code associated with this error.
An error code is intended to be programmatically actionable most of the
time. For example the code GIT_EAGAIN
indicates that an error could be
fixed by trying again, while the code GIT_ERROR
is more bland and
doesn’t convey anything in particular.
sourcepub fn set_code(&mut self, code: ErrorCode)
pub fn set_code(&mut self, code: ErrorCode)
Modify the error code associated with this error.
This is mainly intended to be used by implementers of custom transports or database backends, and should be used with care.
sourcepub fn class(&self) -> ErrorClass
pub fn class(&self) -> ErrorClass
Return the error class associated with this error.
Error classes are in general mostly just informative. For example the class will show up in the error message but otherwise an error class is typically not directly actionable.
sourcepub fn set_class(&mut self, class: ErrorClass)
pub fn set_class(&mut self, class: ErrorClass)
Modify the error class associated with this error.
This is mainly intended to be used by implementers of custom transports or database backends, and should be used with care.