Skip to main content

flexaudio_encode/
error.rs

1//! flexaudio-encode のエラー型と結果型。
2
3/// flexaudio-encode の操作で発生しうるエラー。
4///
5/// 将来バリアントを足せるよう `#[non_exhaustive]`(外部の match は `_ =>` が要る)。
6#[derive(Debug, thiserror::Error)]
7#[non_exhaustive]
8pub enum EncodeError {
9    /// ファイル入出力の失敗。
10    #[error("io error: {0}")]
11    Io(#[from] std::io::Error),
12    /// 対応していないパラメータ(チャンネル数・サンプルレート・チャンク長など)。
13    #[error("unsupported: {0}")]
14    Unsupported(String),
15    /// FLAC エンコーダ内部のエラー(説明文付き)。
16    #[error("encoder error: {0}")]
17    Encoder(String),
18}
19
20/// flexaudio-encode 全体で用いる結果型。
21pub type Result<T> = std::result::Result<T, EncodeError>;