add a noent / not_found errorkind
This commit is contained in:
@@ -6,6 +6,9 @@ pub use anyhow::Error;
|
|||||||
|
|
||||||
#[derive(Debug, thiserror::Error)]
|
#[derive(Debug, thiserror::Error)]
|
||||||
pub enum ErrorKind {
|
pub enum ErrorKind {
|
||||||
|
/// Errno::Noent: No such file or directory
|
||||||
|
#[error("Noent: No such file or directory")]
|
||||||
|
Noent,
|
||||||
/// Errno::TooBig: Argument list too long
|
/// Errno::TooBig: Argument list too long
|
||||||
#[error("TooBig: Argument list too long")]
|
#[error("TooBig: Argument list too long")]
|
||||||
TooBig,
|
TooBig,
|
||||||
@@ -49,6 +52,7 @@ pub enum ErrorKind {
|
|||||||
|
|
||||||
pub trait ErrorExt {
|
pub trait ErrorExt {
|
||||||
fn trap(msg: impl Into<String>) -> Self;
|
fn trap(msg: impl Into<String>) -> Self;
|
||||||
|
fn not_found() -> Self;
|
||||||
fn too_big() -> Self;
|
fn too_big() -> Self;
|
||||||
fn badf() -> Self;
|
fn badf() -> Self;
|
||||||
fn exist() -> Self;
|
fn exist() -> Self;
|
||||||
@@ -68,6 +72,9 @@ impl ErrorExt for Error {
|
|||||||
fn trap(msg: impl Into<String>) -> Self {
|
fn trap(msg: impl Into<String>) -> Self {
|
||||||
anyhow::anyhow!(msg.into())
|
anyhow::anyhow!(msg.into())
|
||||||
}
|
}
|
||||||
|
fn not_found() -> Self {
|
||||||
|
ErrorKind::Noent.into()
|
||||||
|
}
|
||||||
fn too_big() -> Self {
|
fn too_big() -> Self {
|
||||||
ErrorKind::TooBig.into()
|
ErrorKind::TooBig.into()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ impl From<ErrorKind> for types::Errno {
|
|||||||
fn from(e: ErrorKind) -> types::Errno {
|
fn from(e: ErrorKind) -> types::Errno {
|
||||||
use types::Errno;
|
use types::Errno;
|
||||||
match e {
|
match e {
|
||||||
|
ErrorKind::Noent => Errno::Noent,
|
||||||
ErrorKind::TooBig => Errno::TooBig,
|
ErrorKind::TooBig => Errno::TooBig,
|
||||||
ErrorKind::Badf => Errno::Badf,
|
ErrorKind::Badf => Errno::Badf,
|
||||||
ErrorKind::Exist => Errno::Exist,
|
ErrorKind::Exist => Errno::Exist,
|
||||||
|
|||||||
Reference in New Issue
Block a user