pub enum Error {
Io {
path: String,
source: Error,
},
Write {
path: String,
what: String,
},
Http {
url: String,
status: Option<u16>,
message: String,
},
Closed {
path: String,
},
UnknownChromosome {
id: String,
key_size: Option<usize>,
truncated_match: Option<String>,
available: Vec<String>,
},
InvalidArgument(String),
Format {
path: String,
what: String,
},
Corrupt {
path: String,
offset: u64,
what: String,
},
Unsupported(String),
}Variants§
Io
A read that did not happen: the file is missing, unreadable, or the device failed under it.
Write
A write that did not land. Separate from Error::Io because a full
device is usually only reported at the flush or the close — the writes
before it having gone into a buffer — so the moment it surfaces is not
the moment it happened, and what is what says which moment it was.
Http
A URL that did not answer, or answered with something unusable.
Closed
Use of a reader or writer whose close() has already run. Every method
checks this first.
UnknownChromosome
A name no chromosome in the file answers to.
The parts are here rather than a finished sentence, so that a caller can
use them: available is what to offer as a suggestion, key_size is
the width of the file’s own name field, and truncated_match is the
chromosome the id’s first key_size characters spell when the file
holds one — likely the same chromosome stored truncated, but only
likely, which is why it is named rather than resolved to.
InvalidArgument(String)
The caller asked for something that cannot be served: a bin size of zero, an end before its start, a reduction that does not exist, an array of the wrong shape.
Format
The file is not what it claims to be: wrong magic, wrong version, byte-swapped, a bigBed where a bigWig was needed.
Corrupt
The file is the right format and its own bytes contradict each other: a count reaching past the block, an offset past the end, a truncated record.
Unsupported(String)
A real feature of the format that this library does not implement.
Implementations§
Source§impl Error
impl Error
pub fn invalid(msg: impl Into<String>) -> Self
pub fn format(path: impl Into<String>, what: impl Into<String>) -> Self
pub fn corrupt( path: impl Into<String>, offset: u64, what: impl Into<String>, ) -> Self
pub fn write(path: impl Into<String>, what: impl Into<String>) -> Self
pub fn io(path: impl Into<String>, source: Error) -> Self
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for Error
impl !UnwindSafe for Error
impl Freeze for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more