pub struct Location<'a> { /* private fields */ }
Expand description
A struct containing information about the location of a panic.
This structure is created by PanicHookInfo::location()
and PanicInfo::location()
.
§Examples
ⓘ
use std::panic;
panic::set_hook(Box::new(|panic_info| {
if let Some(location) = panic_info.location() {
println!("panic occurred in file '{}' at line {}", location.file(), location.line());
} else {
println!("panic occurred but can't get location information...");
}
}));
panic!("Normal panic");
§Comparisons
Comparisons for equality and ordering are made in file, line, then column priority.
Files are compared as strings, not Path
, which could be unexpected.
See [Location::file
]’s documentation for more discussion.
Implementations§
Source§impl<'a> Location<'a>
impl<'a> Location<'a>
1.10.0 (const: 1.79.0) · Sourcepub const fn line(&self) -> u32
pub const fn line(&self) -> u32
Returns the line number from which the panic originated.
§Examples
ⓘ
use std::panic;
panic::set_hook(Box::new(|panic_info| {
if let Some(location) = panic_info.location() {
println!("panic occurred at line {}", location.line());
} else {
println!("panic occurred but can't get location information...");
}
}));
panic!("Normal panic");
1.25.0 (const: 1.79.0) · Sourcepub const fn column(&self) -> u32
pub const fn column(&self) -> u32
Returns the column from which the panic originated.
§Examples
ⓘ
use std::panic;
panic::set_hook(Box::new(|panic_info| {
if let Some(location) = panic_info.location() {
println!("panic occurred at column {}", location.column());
} else {
println!("panic occurred but can't get location information...");
}
}));
panic!("Normal panic");