Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error {
Show 15 variants NotFound(String), Ambiguous { uri: String, candidates: Vec<String>, }, BadUri { uri: String, reason: String, }, OutOfBounds { location: String, reason: String, }, TooLarge { location: String, reason: String, }, UnknownType(String), Package(String), Unsupported { operation: &'static str, store: &'static str, }, UnstatedKind { source_type: String, why: &'static str, }, Transaction { store: &'static str, reason: String, }, ExternalData { location: String, reason: ExternalDataReason, }, Io(Error), Remote { store: &'static str, reason: String, }, Xml(String), Core(Error),
}
Expand description

Something that stopped an operation.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

NotFound(String)

No object with this URI in the store.

§

Ambiguous

A short URI that names more than one object: the same uuid and type held under several objectVersions. Identifier Specification v5.0 §3.4.2.1 (p. 15) leaves “the most recent” to the server and ETP 1.2 says nothing of how to tell; this store does not guess, it names the candidates - each spelled with its version, so any one of them resolves.

Fields

§uri: String

The URI as given.

§candidates: Vec<String>

Every object it could mean, each by its full URI.

§

BadUri

The URI could not be parsed, or names something this store cannot hold.

Fields

§uri: String

The URI as given.

§reason: String

Why it was rejected.

§

OutOfBounds

A part of something asked for that is not inside it: a window of an array starting or reaching past an axis, a start or count whose rank is not the array’s. The request is wrong, not the data.

Fields

§location: String

What was asked into, by its address (an array: uri plus path).

§reason: String

The figures: which axis, which start, which length.

§

TooLarge

A request larger than the bound its caller set: answered by naming the size, never by returning a part of it as if it were the whole.

Fields

§location: String

What was asked for, by its address.

§reason: String

The size found and the bound, so the caller knows what to narrow.

§

UnknownType(String)

The content type names a type no registered crate declares.

§

Package(String)

The package itself is malformed beyond what tolerance can absorb.

§

Unsupported

An operation this implementation does not offer.

Not a failure of the data: a capability the transport does not have.

Fields

§operation: &'static str

What was attempted.

§store: &'static str

Which implementation refused.

§

UnstatedKind

A request by relationship kind met an edge whose kind nobody states.

ETP 1.2 section 8.1.1.1.2 (p. 157) leaves the kind of a relationship to the ML of the object holding it, and the guide of an ML that has none says nothing: the edge has no kind, and the request that needs one is refused when it meets that edge, not before (crate::context::discover).

Fields

§source_type: String

The qualified type of the object holding the reference (prodml23.FlowTestActivity), or the URI when it has none.

§why: &'static str

Why no rule applies (crate::kinds::KindBasis::Unknown).

§

Transaction

A transaction was misused: a second one opened while one is, or one ended that is not the open one (ETP protocol 18).

Fields

§store: &'static str

Which implementation refused.

§reason: String

What was wrong.

§

ExternalData

An external data file could not be reached or read.

Fields

§location: String

File the array lives in, as named by the object or its relationship.

§reason: ExternalDataReason

Why it could not be read.

§

Io(Error)

Reading or writing the underlying bytes failed.

§

Remote

A remote store failed as a whole - the session fell, the server refused the request. What the server said of one object or array comes back as that object’s own error instead.

Fields

§store: &'static str

Which kind of store, as crate::storage::EnergymlStorage::store_kind says.

§reason: String

What went wrong, in the server’s words when it gave some.

§

Xml(String)

The XML of a part could not be read.

§

Core(Error)

Anything raised by energyml-core while reading or writing an object.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl !UnwindSafe for Error

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more