1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
pub use crate::api::naming::error as naming; pub use crate::rosxmlrpc::error as rosxmlrpc; pub use crate::rosxmlrpc::ResponseError; pub use crate::tcpros::error as tcpros; error_chain::error_chain! { foreign_links { Io(::std::io::Error); Nix(::nix::Error); FromUTF8(::std::string::FromUtf8Error); Response(ResponseError); SigintOverride(::ctrlc::Error); } links { XmlRpc(rosxmlrpc::Error, rosxmlrpc::ErrorKind); Tcpros(tcpros::Error, tcpros::ErrorKind); Naming(naming::Error, naming::ErrorKind); } errors { Duplicate(t: String) { description("Could not add duplicate") display("Could not add duplicate {}", t) } MultipleInitialization { description("Cannot initialize multiple nodes") display("Cannot initialize multiple nodes") } TimeoutError BadYamlData(details: String) { description("Bad YAML data provided") display("Bad YAML data provided: {}", details) } CannotResolveName(name: String) { description("Failed to resolve name") display("Failed to resolve name: {}", name) } CommunicationIssue(details: String) { description("Failure in communication with ROS API") display("Failure in communication with ROS API: {}", details) } } } pub mod api { error_chain::error_chain! { errors { SystemFail(message: String) { description("Failure to handle API call") display("Failure to handle API call: {}", message) } BadData(message: String) { description("Bad parameters provided in API call") display("Bad parameters provided in API call: {}", message) } } } }