Skip to main content

java_diff_utils_rs/unifieddiff/
unified_diff_parser_exception.rs

1use std::error::Error;
2use std::fmt;
3
4/// Equivalent to Java's `UnifiedDiffParserException`.
5#[derive(Debug, Clone, PartialEq, Eq)]
6pub struct UnifiedDiffParserException {
7    pub message: String,
8}
9
10impl UnifiedDiffParserException {
11    pub fn new<S: Into<String>>(message: S) -> Self {
12        Self {
13            message: message.into(),
14        }
15    }
16}
17
18impl fmt::Display for UnifiedDiffParserException {
19    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
20        write!(f, "UnifiedDiffParserException: {}", self.message)
21    }
22}
23
24impl Error for UnifiedDiffParserException {}
25
26// Allows automatically converting standard IO errors into this parser exception
27impl From<std::io::Error> for UnifiedDiffParserException {
28    fn from(err: std::io::Error) -> Self {
29        UnifiedDiffParserException::new(err.to_string())
30    }
31}