summaryrefslogtreecommitdiffstats
path: root/src/error.rs
blob: 6469c26621abb251a3fc9ebb29d50b152f298206 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//

//! Definitions for error handling with failure

/// Failure error kind type, defining error messages
#[derive(Debug, Clone, Eq, PartialEq, failure::Fail)]
pub enum ErrorKind {
    /// Error kind indicating that the JSON parser failed
    #[fail(display = "Failed to create a Task from JSON")]
    ParserError,

    /// Error kind indicating that the Reader failed to read something
    #[fail(display = "Failed to read tasks from a Reader")]
    ReaderError,

    /// Error kind indicating that a call to the task warrior binary failed
    #[fail(display = "There was a problem while calling the external 'task' binary")]
    TaskCmdError,

    /// Error kind indicating that a conversion to JSON failed
    #[fail(display = "A Task could not be converted to JSON")]
    SerializeError,
}