#error-string #create #object

string-error

A minimal rust library to create errors out of strings

1 unstable release

Uses old Rust 2015

0.1.0 Oct 8, 2017

#2359 in Rust patterns

Download history 274/week @ 2024-04-09 539/week @ 2024-04-16 279/week @ 2024-04-23 733/week @ 2024-04-30 327/week @ 2024-05-07 547/week @ 2024-05-14 384/week @ 2024-05-21 346/week @ 2024-05-28 272/week @ 2024-06-04 418/week @ 2024-06-11 711/week @ 2024-06-18 381/week @ 2024-06-25 267/week @ 2024-07-02 391/week @ 2024-07-09 445/week @ 2024-07-16 373/week @ 2024-07-23

1,547 downloads per month
Used in 7 crates (6 directly)

Apache-2.0

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
}

No runtime deps