繁体   English   中英

如何从Node.js中的错误获取行和文件名?

[英]How to get line and file name from Error in Node.js?

假设我有:

var err = new Error('My error!');

如何获取行和文件名,其中创建了Error 就像在PHP中一样:

$ex = new \Exception();
$ex->getLine();
$ex->getFile();   

要获取当前文件的文件名:使用__filename

要获取当前文件的文件夹:使用__dirname

要从Error对象解析文件,您需要一个具有stack属性的Error ,该Error希望指向文件。 然后,您需要从stack字符串中解析文件名和行,或者使用一个这样做的模块。

> new Error().stack
Error
    at repl:1:1
    at sigintHandlersWrap (vm.js:22:35)
    at sigintHandlersWrap (vm.js:73:12)
    at ContextifyScript.Script.runInThisContext (vm.js:21:12)
    at REPLServer.defaultEval (repl.js:346:29)
    at bound (domain.js:280:14)
    at REPLServer.runBound [as eval] (domain.js:293:12)
    at REPLServer.<anonymous> (repl.js:545:10)
    at emitOne (events.js:101:20)
    at REPLServer.emit (events.js:188:7)

您可以使用stack-trace 节点模块 这给出了模块名称和行号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM