javascript - 如何利用所有 console.error 消息
问题描述
我正在尝试获取console.error
由专用错误处理程序捕获的所有消息(它应该在某些特定错误时触发某些操作),并且我正在尝试window.onerror
为此目的利用回调。
到目前为止,即使我的基本设置,我也无法成功,比如
监听器.js
(function () {
window.onerror = function (msg) {
console.log("I got the error:", msg);
};
})();
和
投掷者.js
(function () {
console.error("sample error");
})();
两者都作为静态资产从<head>
非常基本的部分中加载
索引.html
<!DOCTYPE html>
<html>
<head>
<script src="assets/listen.js"></script>
<script src="assets/throw.js"></script>
</head>
<body>
here I go
</body>
</html>
并由琐碎的快递应用程序提供服务:
index.js
import express from "express";
import { join } from "path";
const app = express();
app.use("/assets", express.static(join(__dirname, "public")));
app.use("/", (req, res) => {
res.sendFile(join(__dirname, "index.html"));
});
app.listen(9000, () => console.log("listen :9000"));
我期望得到带有自定义前缀 ( 'I got the error: '
) 的示例错误消息,但控制台中没有额外的输出,所以我认为,示例错误从未被捕获。
所以,问题是:我到底错过了什么?
解决方案
(function () {
console.error("sample error");
})();
这不会引发任何错误,它只是将一些文本记录到控制台。
如果你想抛出一个错误 - 你应该使用throw 语句
(function () {
throw new Error('my error');
})();
推荐阅读
- python - 如果未从视图 Django REST 框架进行身份验证,则重定向到登录页面
- javascript - 更改 HTML 中另一个类的元素
- c++ - C++ 类中的 VTK Visualizer 不渲染场景
- c++ - ffmpeg Cg 着色器 ITU 709 YCbYg
- java - Java - 将 CSV 文件读入构造函数
- python - 在 python lxml 中创建 xsd 模式时出错 XMLSchemaParseError
- tomcat - 带有 Keycloak (8443) 身份验证的 IIS (443) 后面的 Tomcat (8080):tomcat 重定向到 443 端口而不是 8443 上的 keycloak
- c++ - ICU:ucnv_convertEx – 即时检测编码错误
- javascript - 向 JavaScript 平台游戏添加按钮
- python - 将列表插入到 postgres 表