Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日志记录捕获的错误与Node.js中未捕获的错误完全相同_Javascript_Node.js_Error Handling_Console.log - Fatal编程技术网

Javascript 日志记录捕获的错误与Node.js中未捕获的错误完全相同

Javascript 日志记录捕获的错误与Node.js中未捕获的错误完全相同,javascript,node.js,error-handling,console.log,Javascript,Node.js,Error Handling,Console.log,假设我有以下文件error.js: // this is invalid code var a: 0; 然后在我的main.js中,我需要该文件: require("./error.js"); 我从Node.js获得了一条漂亮、简单且易于理解的错误消息: $ node main.js /home/jfischer/error.js:2 var a: 0; ^ SyntaxError: Unexpected token : at exports.runInThisConte

假设我有以下文件
error.js

// this is invalid code
var a: 0;
然后在我的
main.js
中,我需要该文件:

require("./error.js");
我从Node.js获得了一条漂亮、简单且易于理解的错误消息:

$ node main.js
/home/jfischer/error.js:2
var a: 0;
     ^

SyntaxError: Unexpected token :
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:413:25)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/jfischer/main.js:1:63)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
但现在我们得到:

$ node main.js
SyntaxError: Unexpected token :
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:413:25)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/jfischer/main.js:3:5)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)

堆栈
属性之外,似乎不会暴露任何内容<代码>消息和
名称
的帮助较小


我对将错误记录到文件或其他自定义错误记录解决方案感兴趣。如果有任何帮助,我们将不胜感激。

当您使用Node.js 4运行代码时,信息将丢失,但在Node.js 6及更新版本中,即使捕获到错误,也会提供有用的信息。Node.js 4不再受支持,我想现在您不再使用它了。但是,如果您或任何人是:使用Node.js 6或更新版本,您将获得所需的信息

$ nvm use 4
Now using node v4.9.1 (npm v2.15.11)
$ node -v
v4.9.1
$ node main.js
SyntaxError: Unexpected token :
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/trott/temp/main.js:2:1)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
$ nvm use 6
Now using node v6.15.1 (npm v3.10.10)
$ node -v
v6.15.1
$ node main.js
/Users/trott/temp/error.js:2
var a: 0;
     ^

SyntaxError: Unexpected token :
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/trott/temp/main.js:2:1)
$ 
$nvm使用4
现在使用节点v4.9.1(npm v2.15.11)
$node-v
v4.9.1
$node main.js
SyntaxError:意外标记:
在exports.runInThisContext(vm.js:53:16)
在模块处编译(Module.js:373:25)
在Object.Module.\u extensions..js(Module.js:416:10)
在Module.load(Module.js:343:32)
在Function.Module.\u加载(Module.js:300:12)
at Module.require(Module.js:353:17)
根据需要(内部/module.js:12:17)
反对。(/Users/trott/temp/main.js:2:1)
在模块处编译(Module.js:409:26)
在Object.Module.\u extensions..js(Module.js:416:10)
$nvm使用6
现在使用节点v6.15.1(npm v3.10.10)
$node-v
v6.15.1
$node main.js
/Users/trott/temp/error.js:2
变量a:0;
^
SyntaxError:意外标记:
在createScript上(vm.js:56:10)
在Object.runInThisContext(vm.js:97:10)
在模块处编译(Module.js:549:28)
在Object.Module.\u extensions..js(Module.js:586:10)
在Module.load(Module.js:494:32)
在tryModuleLoad时(module.js:453:12)
在Function.Module.\u加载(Module.js:445:3)
at Module.require(Module.js:504:17)
根据需要(内部/module.js:20:19)
反对。(/Users/trott/temp/main.js:2:1)
$ 


最新的节点v11显示了每一个细节,甚至来自导入的模块

谈谈时机。实现此修复的第一步仅在两小时前交付。
var a: 0;
     ^
$ nvm use 4
Now using node v4.9.1 (npm v2.15.11)
$ node -v
v4.9.1
$ node main.js
SyntaxError: Unexpected token :
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/trott/temp/main.js:2:1)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
$ nvm use 6
Now using node v6.15.1 (npm v3.10.10)
$ node -v
v6.15.1
$ node main.js
/Users/trott/temp/error.js:2
var a: 0;
     ^

SyntaxError: Unexpected token :
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/trott/temp/main.js:2:1)
$