javascript - 如何“捕捉”console.error()?(所以标题)
问题描述
我包含了一个使用console.error()
而不是throw
.
因此,我的try...catch
不起作用。而且因为它是第 3 方库,所以我无法更改他们的代码。
是否有(最好是优雅的)解决方法来“捕捉” a console.error()
?
解决方案
您无法捕获不会引发任何错误的东西。它看起来像一个拐杖,但您可以在下面的代码中覆盖您的 console.error 方法。但是不要忘记,在你覆盖了抛出错误的 console.error 之后!!!
console.errorWithoutExceptions = console.error;
console.error = (...messages) => {
console.errorWithoutExceptions(...messages);
throw new Error(messages[0]);
}
// now you can use
try {
// your code
console.error('test error');
} catch(e) {
// process you error with message 'test error' here
}
// don't forget to restore previous console.error after using
console.error = console.errorWithoutExceptions;
推荐阅读
- javascript - 不能在第二个函数中返回变量
- image - Symfony - 上传后调整图像大小
- python - 在迭代时将键添加到 int 的 defaultdict
- c# - 为 WCF 服务启用 HTTPS 流量。将流量 http 更改为 https 的问题
- postgresql - 带有 Postgres 的 AWS RDS:是否配置了 OOM 杀手
- ms-access - 将工作联合查询放入子查询会导致 JOIN 语法错误
- python - Pandas:从 DataFrame 分配 MultiIndex 列
- c# - JetBrain Rider:在调试期间查看 List<>
- python - 如何从依赖解析器的输出中生成树?
- c - 在C中的链表中打印节点的十六进制内存地址