node.js - 为什么 nodejs 在未声明的变量上静默失败?
问题描述
为什么 nodejs 在未声明的变量上静默失败?它什么也没说,没有堆栈跟踪等。这是调试最糟糕的情况。
如何让它像任何其他语言一样嘈杂?
这是一个用 nodejs 编写的小命令行实用程序。它不像大多数人正在制作的网络应用程序。我很好。它按预期工作,我很高兴将代码移植过来,一切正常,除非我打错字然后它默默地失败了。
// Typo: should be var or const foo but I missed it and I want nodejs to error about it like any other language
foo = func();
我在某处得到提示,承诺正在消除这样的错误。如果是这样,为什么,是否有解决方法,最好让它大声死去。
谢谢
解决方案
射击我。我错过了将承诺拒绝的结果记录在更高的位置。一旦我把它放进去,我就开始看到非常有帮助的错误和堆栈跟踪。
如果我记得记录所有拒绝错误,那就没问题了。
神奇之处在于,promise 将使用异常并将它们作为结果对象自动发送到拒绝处理程序。
这个问题+答案很有帮助:
推荐阅读
- flutter - 颤动中的自定义标签栏标签
- qt - QProcess stateChanged 信号未正确发出
- python - Django 表单 – 通过电子邮件将上传的文件作为附件发送
- google-cloud-functions - 将环境变量存储在gitlab文件夹中的文件中以获取GCP函数
- javascript - 带有滑动子菜单的下拉菜单
- django - 如何将 ModelForm 显示到 HTML 模板中?
- javascript - 防止用户在输入的任何地方输入数字。如何?
- mysql - 使用 X DevAPI 搜索嵌套数组
- python - Python:用活动的经过时间进行计算
- javascript - 如何使用 node.js 从 sqlite 数据库中获取记录