datafusion_ducklake_cli/
error.rs1use std::io;
2
3use datafusion_ducklake_provider::datafusion::arrow::error::ArrowError;
4use datafusion_ducklake_provider::datafusion::error::DataFusionError;
5use rustyline::error::ReadlineError;
6
7#[derive(Debug, thiserror::Error)]
8pub enum CliError {
9 #[error("{0}")]
10 Message(String),
11 #[error(transparent)]
12 DataFusion(#[from] DataFusionError),
13 #[error(transparent)]
14 Arrow(#[from] ArrowError),
15 #[error(transparent)]
16 Io(#[from] io::Error),
17 #[error(transparent)]
18 Readline(#[from] ReadlineError),
19}
20
21impl CliError {
22 pub fn exit_code(&self) -> i32 {
23 1
24 }
25}
26
27pub(crate) fn err(message: impl Into<String>) -> CliError {
28 CliError::Message(message.into())
29}