Struct rocket::error::LaunchError
source · pub struct LaunchError { /* private fields */ }
Expand description
An error that occurs during launch.
A LaunchError
is returned by launch()
when
launching an application fails.
§Panics
A value of this type panics if it is dropped without first being inspected.
An inspection occurs when any method is called. For instance, if
println!("Error: {}", e)
is called, where e: LaunchError
, the
Display::fmt
method being called by println!
results in e
being marked
as inspected; a subsequent drop
of the value will not result in a panic.
The following snippet illustrates this:
let error = rocket::ignite().launch();
// This line is only reached if launching failed. This "inspects" the error.
println!("Launch failed! Error: {}", error);
// This call to drop (explicit here for demonstration) will do nothing.
drop(error);
When a value of this type panics, the corresponding error message is pretty printed to the console. The following illustrates this:
let error = rocket::ignite().launch();
// This call to drop (explicit here for demonstration) will result in
// `error` being pretty-printed to the console along with a `panic!`.
drop(error);
§Usage
A LaunchError
value should usually be allowed to drop
without
inspection. There are two exceptions to this suggestion.
-
If you are writing a library or high-level application on-top of Rocket, you likely want to inspect the value before it drops to avoid a Rocket-specific
panic!
. This typically means simply printing the value. -
You want to display your own error messages.
Implementations§
source§impl LaunchError
impl LaunchError
sourcepub fn kind(&self) -> &LaunchErrorKind
pub fn kind(&self) -> &LaunchErrorKind
Retrieve the kind
of the launch error.
§Example
let error = rocket::ignite().launch();
// This line is only reached if launch failed.
let error_kind = error.kind();