Skip to main content

qcs_api_client_common/
errors.rs

1//! Exception hierarchy exported to the `qcs_api_client_common` Python package.
2
3use pyo3::exceptions::PyException;
4use rigetti_pyo3::{create_exception, exception};
5
6create_exception!(
7    qcs_api_client_common,
8    QcsApiClientError,
9    PyException,
10    "Base exception type for errors raised by this package."
11);
12
13create_exception!(
14    qcs_api_client_common.configuration,
15    ConfigurationError,
16    QcsApiClientError,
17    "Base exception type for configuration errors."
18);
19
20exception!(
21    crate::configuration::error::LoadError,
22    qcs_api_client_common.configuration,
23    LoadError,
24    ConfigurationError,
25    "Errors that can occur when loading a configuration."
26);
27
28exception!(
29    crate::configuration::error::TokenError,
30    qcs_api_client_common.configuration,
31    TokenError,
32    ConfigurationError,
33    "Errors that can occur when managing authorization tokens."
34);
35
36exception!(
37    crate::configuration::ClientConfigurationBuilderError,
38    qcs_api_client_common.configuration,
39    ClientConfigurationBuilderError,
40    ConfigurationError,
41    "Unable to build a configuration due to missing or improper values."
42);