pub enum Error {
Command(&'static str, i32),
Generic(String),
Io(Error),
Manifest(&'static str),
Mustache(Error),
Toml(Error),
Version(SemVerError),
}
Expand description
The error type for wix-related operations and associated traits.
Errors mostly originate from the dependencies, but custom instances of Error
can be created
with the Generic
variant and a message.
Variants§
Command(&'static str, i32)
A command operation failed.
Generic(String)
A generic or custom error occurred. The message should contain the detailed information.
Io(Error)
An I/O operation failed.
Manifest(&'static str)
A needed field within the Cargo.toml
manifest could not be found.
Mustache(Error)
An error occurred with rendering the template using the mustache renderer.
Toml(Error)
Parsing of the Cargo.toml
manifest failed.
Version(SemVerError)
Parsing error for a version string or field.
Implementations§
source§impl Error
impl Error
sourcepub fn code(&self) -> i32
pub fn code(&self) -> i32
Gets an error code related to the error.
Examples
extern crate wix;
use wix::Error;
fn main() {
let err = Error::from("A generic error");
assert!(err.code() != 0)
}
This is useful as a return, or exit, code for a command line application, where a non-zero integer indicates a failure in the application. it can also be used for quickly and easily testing equality between two errors.
sourcepub fn already_exists(p: &Path) -> Self
pub fn already_exists(p: &Path) -> Self
Creates a new Error
from a std::io::Error with the
std::io::ErrorKind::AlreadyExists variant.
Examples
extern crate wix;
use std::io;
use std::path::Path;
use wix::Error;
fn main() {
let path = Path::new("C:\\");
let expected = Error::Io(io::Error::new(
io::ErrorKind::AlreadyExists,
path.display().to_string()
));
assert_eq!(expected, Error::already_exists(path));
}
sourcepub fn not_found(p: &Path) -> Self
pub fn not_found(p: &Path) -> Self
Creates a new Error
from a std::io::Error with the
std::io::ErrorKind::NotFound variant.
Examples
extern crate wix;
use std::io;
use std::path::Path;
use wix::Error;
fn main() {
let path = Path::new("C:\\Cargo\\Wix\\file.txt");
let expected = Error::Io(io::Error::new(
io::ErrorKind::NotFound,
path.display().to_string()
));
assert_eq!(expected, Error::not_found(path));
}