Rollup merge of #66114 - golddranks:improve_thread_docs, r=Centril
Improve std:🧵:Result documentation Thanks to @dtolnay for pointing out the different premise of the contents of the `Err` variant in `std:🧵:Result` WRT normal error handling.
This commit is contained in:
commit
3032233bb2
@ -1271,6 +1271,18 @@ impl fmt::Debug for Thread {
|
||||
///
|
||||
/// Indicates the manner in which a thread exited.
|
||||
///
|
||||
/// The value contained in the `Result::Err` variant
|
||||
/// is the value the thread panicked with;
|
||||
/// that is, the argument the `panic!` macro was called with.
|
||||
/// Unlike with normal errors, this value doesn't implement
|
||||
/// the [`Error`](crate::error::Error) trait.
|
||||
///
|
||||
/// Thus, a sensible way to handle a thread panic is to either:
|
||||
/// 1. `unwrap` the `Result<T>`, propagating the panic
|
||||
/// 2. or in case the thread is intended to be a subsystem boundary
|
||||
/// that is supposed to isolate system-level failures,
|
||||
/// match on the `Err` variant and handle the panic in an appropriate way.
|
||||
///
|
||||
/// A thread that completes without panicking is considered to exit successfully.
|
||||
///
|
||||
/// # Examples
|
||||
|
Loading…
x
Reference in New Issue
Block a user