Skip to content

Commit bc1ec47

Browse files
authored
Merge pull request #72 from benesch/error
Implement std::error::Error for ParserError
2 parents 4f944dd + 373a926 commit bc1ec47

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/sqlparser.rs

+16
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ use super::dialect::keywords;
2020
use super::dialect::Dialect;
2121
use super::sqlast::*;
2222
use super::sqltokenizer::*;
23+
use std::error::Error;
2324

2425
#[derive(Debug, Clone, PartialEq)]
2526
pub enum ParserError {
@@ -47,6 +48,21 @@ impl From<TokenizerError> for ParserError {
4748
}
4849
}
4950

51+
impl std::fmt::Display for ParserError {
52+
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
53+
write!(
54+
f,
55+
"sql parser error: {}",
56+
match self {
57+
ParserError::TokenizerError(s) => s,
58+
ParserError::ParserError(s) => s,
59+
}
60+
)
61+
}
62+
}
63+
64+
impl Error for ParserError {}
65+
5066
/// SQL Parser
5167
pub struct Parser {
5268
tokens: Vec<Token>,

0 commit comments

Comments
 (0)