本文简要介绍rust语言中 std::panic::Location.file
的用法。
用法
pub fn file(&self) -> &str
返回产生Panics的源文件的名称。
&str
,而不是 &Path
返回的名称是指编译系统上的源路径,但直接将其表示为 &Path
是无效的。编译后的代码可能在具有不同Path
实现的系统上运行,而不是提供内容的系统,并且此库当前没有不同的“host path” 类型。
当“the same” 文件可通过模块系统中的多个路径访问(通常使用#[path = "..."]
属性或类似属性)时,会发生最令人惊讶的行为,这可能导致看似相同的代码从该函数返回不同的值。
Cross-compilation
当宿主平台和目标平台不同时,此值不适合传递给Path::new
或类似的构造函数。
例子
use std::panic;
panic::set_hook(Box::new(|panic_info| {
if let Some(location) = panic_info.location() {
println!("panic occurred in file '{}'", location.file());
} else {
println!("panic occurred but can't get location information...");
}
}));
panic!("Normal panic");
相关用法
- Rust Location.line用法及代码示例
- Rust Location.column用法及代码示例
- Rust Location.caller用法及代码示例
- Rust Location用法及代码示例
- Rust LocalKey用法及代码示例
- Rust LowerExp用法及代码示例
- Rust LowerHex用法及代码示例
- Rust LinkedList.push_front用法及代码示例
- Rust LinkedList.remove用法及代码示例
- Rust LineWriter.new用法及代码示例
- Rust LinkedList.front用法及代码示例
- Rust Lazy用法及代码示例
- Rust Lazy.new用法及代码示例
- Rust LineWriter用法及代码示例
- Rust LinkedList.is_empty用法及代码示例
- Rust Lazy.force用法及代码示例
- Rust LinkedList.back_mut用法及代码示例
- Rust LineWriter.with_capacity用法及代码示例
- Rust LinkedList.pop_front用法及代码示例
- Rust LinkedList.new用法及代码示例
- Rust LinkedList.clear用法及代码示例
- Rust LinkedList.iter_mut用法及代码示例
- Rust LinkedList.drain_filter用法及代码示例
- Rust LinkedList.back用法及代码示例
- Rust LinkedList.front_mut用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::panic::Location.file。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。