8个版本
使用旧Rust 2015
0.1.7 | 2021年10月11日 |
---|---|
0.1.6 | 2019年2月15日 |
0.1.5 | 2018年9月6日 |
0.1.4 | 2018年8月14日 |
0.1.1 | 2018年5月23日 |
#9 in WebAssembly
857,422 每月下载量
用于 3,979 个Crate(443个直接使用)
510KB
console_error_panic_hook
此Crate允许您通过提供恐慌钩子将恐慌消息转发到console.error
来在wasm32-unknown-unknown
上调试恐慌。
当使用console.error
报告错误时,浏览器开发工具和node.js通常会捕获堆栈跟踪,并将其与记录的错误消息一起显示。
如果没有console_error_panic_hook
,您将看到类似RuntimeError: Unreachable executed的内容
浏览器:
Node:
安装此恐慌钩子后,您将看到恐慌消息
浏览器:
Node:
用法
安装此恐慌钩子有两种方式。
首先,您可以在某个初始化函数中调用std::panic::set_hook
来自定义钩子
extern crate console_error_panic_hook;
use std::panic;
fn my_init_function() {
panic::set_hook(Box::new(console_error_panic_hook::hook));
// ...
}
或者,在某个常见代码路径上使用set_once
来确保只调用一次set_hook
。底层使用std::sync::Once
。
extern crate console_error_panic_hook;
struct MyBigThing;
impl MyBigThing {
pub fn new() -> MyBigThing {
console_error_panic_hook::set_once();
MyBigThing
}
}
Error.stackTraceLimit
许多浏览器只能捕获堆栈跟踪的前10个帧。在Rust程序中,这可能不够用。要查看更多帧,您可以设置非标准值 Error.stackTraceLimit
。更多信息请参见 MDN Web Docs 或 v8 文档。
依赖项
~0.7–1.4MB
~28K SLoC