[][src]Enum inkling::InklingError

pub enum InklingError {
    Internal(InternalError),
    InvalidAddress {
        knot: String,
        stitch: Option<String>,
    },
    InvalidChoice {
        selection: usize,
        presented_choices: Vec<Choice>,
    },
    InvalidVariable {
        name: String,
    },
    MadeChoiceWithoutChoice,
    OutOfChoices {
        address: Address,
    },
    OutOfContent,
    PrintInvalidVariable {
        name: String,
        value: Variable,
    },
    ResumeBeforeStart,
    StartOnStoryInProgress,
    VariableError(VariableError),
}

Errors from running a story.

This struct mostly concerns errors which will be encountered due to some mistake with the story or user input.

OutOfChoices and OutOfContent are runtime errors from the story running out of content to display. This is likely due to the story returning to a single knot or stitch multiple times, consuming all of its choices if no fallback choice has been added. These issues should be taken into account when writing the story: if content will be returned to it is important to keep track of how many times this is allowed to happen, or have a fallback in place.

All internal errors are contained in the Internal variant. These concern everything that went wrong due to some issue within inkling itself. If you encounter any, please open an issue on Github.

Variants

Internal(InternalError)

Internal errors caused by inkling.

InvalidAddress

Used a knot or stitch name that is not present in the story as an input variable.

Fields of InvalidAddress

knot: Stringstitch: Option<String>
InvalidChoice

An invalid choice index was given to resume the story with.

Fields of InvalidChoice

selection: usize

Choice input by the user to resume the story with.

presented_choices: Vec<Choice>

List of choices that were available for the selection

InvalidVariable

Used a variable name that is not present in the story as an input variable.

Fields of InvalidVariable

name: String
MadeChoiceWithoutChoice

Called make_choice when no choice had been requested.

Likely directly at the start of a story or after a move_to call was made.

OutOfChoices

No choices or fallback choices were available in a story branch at the given address.

Fields of OutOfChoices

address: Address
OutOfContent

No content was available for the story to continue from.

PrintInvalidVariable

Tried to print a variable that cannot be printed.

Fields of PrintInvalidVariable

name: Stringvalue: Variable
ResumeBeforeStart

Tried to resume a story that has not been started.

StartOnStoryInProgress

Tried to start a story that is already in progress.

VariableError(VariableError)

Trait Implementations

impl Clone for InklingError[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl From<InklingError> for InvalidVariableExpressionError[src]

impl From<InternalError> for InklingError[src]

impl From<VariableError> for InklingError[src]

impl Debug for InklingError[src]

impl Display for InklingError[src]

impl Error for InklingError[src]

fn description(&self) -> &str1.0.0[src]

This method is soft-deprecated. Read more

fn cause(&self) -> Option<&dyn Error>1.0.0[src]

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

The lower-level cause of this error, if any. Read more

fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]

The lower-level source of this error, if any. Read more

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]