From 83dbd4db318d1799dcb2080dd292cd51cd16e081 Mon Sep 17 00:00:00 2001 From: Kasper Date: Tue, 2 Feb 2021 04:41:00 +0100 Subject: [PATCH] Add `message` method for errors --- Cargo.toml | 2 -- src/lib.rs | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 94603c1..4e051f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,5 +16,3 @@ categories = ["multimedia::audio"] mp4 = "0.8.1" fdk-aac = "0.4.0" rodio = { version = "0.13.0", default-features = false } - -[dev-dependencies] diff --git a/src/lib.rs b/src/lib.rs index 4d0378f..8342d20 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,7 +14,7 @@ pub enum Error { /// Unable to get information about a track, such as audio profile, sample /// frequency or channel config. TrackReadingError, - // Unable to find track in file + // Unable to find track in file TrackNotFound, /// Error decoding track TrackDecodingError(DecoderError), @@ -26,6 +26,19 @@ pub enum Error { impl error::Error for Error {} +impl Error { + pub fn message(&self) -> &'static str { + match &self { + Error::FileHeaderError => "Error reading file header", + Error::TrackReadingError => "Error reading file track info", + Error::TrackNotFound => "Unable to find track in file", + Error::TrackDecodingError(_) => "Error decoding track", + Error::SamplesError => "Error reading samples", + Error::ReaderError(_) => "Error reading file", + } + } +} + impl fmt::Display for Error { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "Oh no, something bad went down") -- 2.51.2