Error

Enum Error 

Source
pub enum Error {
    Io(Error),
    Edit(TomlError),
    Parse(Error),
    Json(Error),
    Jsonfive(Error),
    Missing(PathBuf),
    Shell(ExitStatus),
    NoCommand,
    Config,
    Exists(PathBuf),
    Utf(FromUtf8Error),
    Environment(String),
}
Expand description

Represents all possible errors that can occur during the build script’s execution.

This enum provides a comprehensive error type for the build orchestration system, covering all failure modes from IO operations to parsing errors to command execution failures. Each variant includes relevant context to help diagnose the issue.

The enum derives Error from the thiserror crate, which provides automatic implementations of the Error trait and error display formatting.

§Automatic Conversions

This type implements From for several error types, allowing the ? operator to automatically convert library-specific errors into Error:

  • io::ErrorError::Io
  • toml_edit::TomlErrorError::Edit
  • toml::de::ErrorError::Parse
  • serde_json::ErrorError::Json
  • json5::ErrorError::Jsonfive
  • std::string::FromUtf8ErrorError::Utf

Variants§

§

Io(Error)

IO operation error.

This variant wraps standard Rust IO errors that can occur during file operations like reading, writing, copying, or deleting files.

§

Edit(TomlError)

Toml editing error.

This variant wraps errors that occur when manipulating TOML documents using the toml_edit library, such as invalid mutations or parsing issues when reading TOML content.

§

Parse(Error)

Toml deserialization error.

This variant wraps errors that occur when parsing TOML files into Rust structs using the toml library’s deserialization functionality.

§

Json(Error)

JSON parsing/error.

This variant wraps errors that occur when parsing or validating standard JSON files using the serde_json library.

§

Jsonfive(Error)

JSON5 parsing/error.

This variant wraps errors that occur when parsing or validating JSON5 files (a more flexible JSON format) using the json5 library.

§

Missing(PathBuf)

Missing directory error.

This variant is used when a required directory does not exist at the specified path. The path is included for debugging purposes,

§

Shell(ExitStatus)

Shell command execution failure.

This variant is used when the final build command fails to execute successfully. The exit status is included to provide information about the failure.

§

NoCommand

No command provided error.

This variant is used when the build script is invoked without specifying a build command to execute.

§

Config

Tauri configuration file not found error.

This variant is used when neither tauri.conf.json nor tauri.conf.json5 can be found in the project directory.

§

Exists(PathBuf)

Backup file already exists error.

This variant is used when the Guard attempts to create a backup but a backup file already exists at the target location. This prevents overwriting existing backups and ensures data safety.

§

Utf(FromUtf8Error)

UTF-8 conversion error.

This variant wraps errors that occur when converting byte vectors to UTF-8 strings, particularly when dealing with file contents or command output.

§

Environment(String)

Missing environment variable error.

This variant is used when a required environment variable is not set. The variable name is included in the error message for easy identification and resolution.

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.
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.
Source§

impl From<FromUtf8Error> for Error

Source§

fn from(source: FromUtf8Error) -> Self

Converts to this type from the input type.
Source§

impl From<TomlError> for Error

Source§

fn from(source: TomlError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe 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, 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.