1 unstable release
Uses old Rust 2015
0.1.0 | Oct 8, 2017 |
---|
#2359 in Rust patterns
1,547 downloads per month
Used in 7 crates
(6 directly)
6KB
62 lines
string-error
This crate provides a simple way to use a string as an error trait object,
i.e. Box<std::error::Error>
.
If you need more sophisticated error handling, you should consider error-chain, which also provides functionality to create simple errors from Strings.
Compatibility
This crate works with Stable Rust (tested with 1.20.0) and has no dependencies.
License
Written by Ulrich Rhein, licensed under the Apache License 2.0.
See COPYRIGHT and LICENSE for details.
Usage
In your Cargo.toml
:
[dependencies]
string-error = "0.1.0"
In your code:
extern crate string_error;
use std::error::Error;
use string_error::{into_err, new_err, static_err};
static ERROR_MESSAGE : &'static str = "This is a constant error message";
fn use_static_err() -> Result<(), Box<Error>> {
// creates an error from a static str
Err(static_err(ERROR_MESSAGE))
}
fn use_new_err() -> Result<(), Box<Error>> {
let x = String::from("Create an error from an owned string.");
Err(new_err(&x)) // copies x
}
fn use_into_err() -> Result<(), Box<Error>> {
let x = String::from("Create an error from an owned string.");
Err(into_err(x)) // takes ownership of x
}