使用JavaScript

时间:2017-03-10 07:40:49

标签: javascript string error-handling

简单地说,我正试图从多行字符串中读取第2行(和第3行等)。 Javascript中有没有办法从error.stack输出中提取文件名和行号?例如,在下面的代码示例中,请参阅第二行,我想在括号内获取值(CampaignController.js:229:30)。

TypeError: Cannot read property 'getSampleData' of undefined
    at proto.constructor.getFunctionName (http://clientservices.local:44085/sample/controllers/CampaignController.js:229:30)
    at proto.constructor.r [as getFunctionName] (http://clientservices.local:44085/sample/lib/lodash/lodash.min-v3.9.3.js:25:494)
    at proto.constructor.showModal (http://clientservices.local:44085/sample/controllers/CampaignController.js:116:30)
    at proto.constructor.r [as showModal] (http://clientservices.local:44085/sample/lib/lodash/lodash.min-v3.9.3.js:25:494)
    at http://clientservices.local:44085/sample/controllers/CampaignController.js:1268:22

我这样做是为了创建一个服务器日志,它将所有与UI相关的异常发送到我的服务器。我需要附上文件名和行号等信息。

我能够将这个字符串(下面的代码)分配给变量(var errorStackString = error.stack),但我不知道如何在字符串落入新行时提取它们的部分内容。我正在寻找正则表达式来做到这一点。但到目前为止我所得到的只是第一行(我可以直接使用error.message

此外,我了解这可以使用error.fileNameerror.columnNumber等完成,但目前仅适用于Firefox。我想在Chrome上获取fileNames,columnNames。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error

0 个答案:

没有答案