rfluids/error.rs
1use crate::{
2 fluid::{FluidFromCustomMixError, FluidOutputError, FluidStateError},
3 humid_air::{HumidAirOutputError, HumidAirStateError},
4 io::AltitudeError,
5 native::CoolPropError,
6 substance::{BinaryMixError, CustomMixError},
7};
8use thiserror::Error;
9
10/// Superset of all possible errors that can occur in the library.
11#[derive(Clone, Debug, Error, PartialEq)]
12#[non_exhaustive]
13pub enum Error {
14 /// `CoolProp` internal error.
15 #[error(transparent)]
16 CoolProp(#[from] CoolPropError),
17
18 /// Error during creation of [`BinaryMix`](crate::substance::BinaryMix).
19 #[error(transparent)]
20 BinaryMix(#[from] BinaryMixError),
21
22 /// Error during creation of [`CustomMix`](crate::substance::CustomMix).
23 #[error(transparent)]
24 CustomMix(#[from] CustomMixError),
25
26 /// Error during creation of [`Fluid`](crate::fluid::Fluid)
27 /// from [`CustomMix`](crate::substance::CustomMix).
28 #[error(transparent)]
29 FluidFromCustomMix(#[from] FluidFromCustomMixError),
30
31 /// Error during [`Fluid::update`](crate::fluid::Fluid::update)
32 /// or [`Fluid::in_state`](crate::fluid::Fluid::in_state).
33 #[error(transparent)]
34 FluidState(#[from] FluidStateError),
35
36 /// Error during calculation of the
37 /// [`Fluid`](crate::fluid::Fluid) output parameter value.
38 #[error(transparent)]
39 FluidOutput(#[from] FluidOutputError),
40
41 /// Error during [`HumidAirInput::altitude`](crate::io::HumidAirInput::altitude).
42 #[error(transparent)]
43 Altitude(#[from] AltitudeError),
44
45 /// Error during [`HumidAir::update`](crate::humid_air::HumidAir::update)
46 /// or [`HumidAir::in_state`](crate::humid_air::HumidAir::in_state).
47 #[error(transparent)]
48 HumidAirState(#[from] HumidAirStateError),
49
50 /// Error during calculation of the
51 /// [`HumidAir`](crate::humid_air::HumidAir) output parameter value.
52 #[error(transparent)]
53 HumidAirOutput(#[from] HumidAirOutputError),
54}