exitcode

Crates.ioexitcode
lib.rsexitcode
version1.1.2
sourcesrc
created_at2017-05-25 19:37:52.184217
updated_at2017-06-18 18:21:36.405587
descriptionPreferred system exit codes as defined by sysexits.h
homepagehttps://github.com/benwilber/exitcode
repositoryhttps://github.com/benwilber/exitcode
max_upload_size
id15974
size18,193
Ben Wilber (benwilber)

documentation

https://docs.rs/exitcode

README

ghit.me Build Status Crates.io

exitcode

System exit code constants as defined by sysexits.h

Documentation is available here

Installing from crates.io

[dependencies]
exitcode = "1.1.2"

Example

extern crate exitcode;

use std::process;

pub fn parse_int_or_return_error_exitcode(s: String) -> Result<i32, exitcode::ExitCode> {
    match s.parse::<i32>() {
        Ok(i) => Ok(i),
        Err(_) => Err(exitcode::USAGE)
    }

}

pub fn main() {

    match parse_int_or_return_error_exitcode("123".to_string()) {
        Ok(i) => println!("Parsed: {}", i),
        Err(code) => {
            println!("Parse error.  Exiting with code: {}", code);
            process::exit(code);
        }
    }

    match parse_int_or_return_error_exitcode("foo".to_string()) {
        Ok(i) => println!("Parsed: {}", i),
        Err(code) => {
            println!("Parse error.  Exiting with code: {}", code);
            process::exit(code);
        }
    }

    println!("Exiting with code: {}", exitcode::OK);
    process::exit(exitcode::OK);

}
Commit count: 39

cargo fmt