首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS:获取` `new Function(...)`内的错误行号

在JavaScript中,可以使用new Function(...)来动态创建一个函数。当在这个函数中发生错误时,我们可能需要获取错误发生的行号。要获取new Function(...)内的错误行号,可以使用以下步骤:

  1. 首先,我们需要将new Function(...)的代码包装在try...catch语句块中,以便捕获可能发生的错误。
代码语言:txt
复制
try {
  new Function(...);
} catch (error) {
  // 处理错误
}
  1. catch语句块中,可以通过访问error.stack属性来获取错误的堆栈信息。堆栈信息包含了错误发生的行号、文件名等详细信息。
代码语言:txt
复制
try {
  new Function(...);
} catch (error) {
  console.log(error.stack);
}
  1. 错误堆栈信息是一个字符串,可以使用正则表达式来提取行号。一般情况下,行号位于堆栈信息的第一行。
代码语言:txt
复制
try {
  new Function(...);
} catch (error) {
  const stackTrace = error.stack;
  const lineNumber = stackTrace.match(/:(\d+):\d+/)[1];
  console.log('错误行号:', lineNumber);
}

以上代码中,lineNumber变量将包含new Function(...)内发生错误的行号。

对于这个问题,腾讯云没有特定的产品或链接来解决,因为它是JavaScript语言的特性,与云计算平台无关。但是,腾讯云提供了一系列与云计算相关的产品和服务,可以帮助开发人员构建和部署应用程序。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

js获取时间new date()用法 原

获取时间: var myDate = new Date();//获取系统当前时间 获取特定格式时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear...(); //获取当前时间 13 myDate.toLocaleString( ); //获取日期与时间 JS获取当前时间戳方法 JavaScript 获取当前时间戳: 第一种方法: 1 var timestamp...=Date.parse(new Date()); 得到结果:1280977330000 注意:这里得到结果将后三位(毫秒)转换成了000显示,使用时可能会出现问题。...(); 结果:1280977330748 js中单独调用new Date(),例如document.write(new Date()); 显示结果是:Mar 31 10:10:43 UTC+0800...2012 这种格式时间 但是用new Date() 参与计算会自动转换为从1970.1.1开始毫秒数。

14.1K31
  • 精读《JavaScript错误堆栈处理》

    当它执行完毕时,被弹出栈』,简单看下面的代码: function c() { try { var bar = baz; throw new Error() } catch (e) {...正确做法应该是使用 throw new Error(“error message here”),这里还引用了 Node.js 中推荐异常处理方式: 区分操作异常和程序员失误。...它可以捕捉语法错误和运行时错误,并且拿到出错信息,堆栈,出错文件、行号、列号等。不过,由于是全局监测,就会统计到浏览器插件中 js 异常。...当然,还有一个问题就是浏览器跨域,页面和 js 代码在不同域上时,浏览器出于安全性考虑,将异常内容隐藏,我们只能获取到一个简单 Script Error 信息。...不过这个解决方案也很成熟: 给应用所需 标签添加 crossorigin 属性; 在 js 所在 cdn 服务器上添加 Access-Control-Allow-Origin:

    1.2K20

    精读JavaScript错误堆栈处理

    正确做法应该是使用 throw new Error(“error message here”),这里还引用了 Node.js 中推荐异常处理方式: 区分操作异常和程序员失误。...监控客户端 Error 报错 文中提到 try...catch 可以拿到出错信息,堆栈,出错文件、行号、列号等,但无法捕捉到语法错误,也没法去捕捉全局异常事件。...它可以捕捉语法错误和运行时错误,并且拿到出错信息,堆栈,出错文件、行号、列号等。不过,由于是全局监测,就会统计到浏览器插件中 js 异常。...当然,还有一个问题就是浏览器跨域,页面和 js 代码在不同域上时,浏览器出于安全性考虑,将异常内容隐藏,我们只能获取到一个简单 ScriptError 信息。...不过这个解决方案也很成熟: 给应用所需 script 标签添加 crossorigin 属性; 在 js 所在 cdn 服务器上添加 Access-Control-Allow-Origin:* HTTP

    2K30

    从0到1,构建完整前端异常监控系统

    前端异常捕获 在ES3之前js代码执行过程中,一旦出现错误,整个js代码都会停止执行,这样就显代码非常不健壮。...这个处理函数被调用时,可获取错误信息和Vue 实例。 //main.js import { createApp } from "vue"; import App from "....确定上报内容,应该包含异常位置(行号,列号),异常信息,在错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...使用log4js记录我们错误日志,这个也是非常流行日志插件了,直接贴代码。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列号即可,就会返回压缩前错误信息。

    66920

    前端异常埋点系统初探

    前端异常捕获 在ES3之前js代码执行过程中,一旦出现错误,整个js代码都会停止执行,这样就显代码非常不健壮。...这个处理函数被调用时,可获取错误信息和Vue 实例。 //main.js import { createApp } from "vue"; import App from "....确定上报内容,应该包含异常位置(行号,列号),异常信息,在错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...使用log4js记录我们错误日志,这个也是非常流行日志插件了,直接贴代码。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列号即可,就会返回压缩前错误信息。

    64930

    从0到1,构建完整前端异常监控系统

    前端异常捕获 在ES3之前js代码执行过程中,一旦出现错误,整个js代码都会停止执行,这样就显代码非常不健壮。...这个处理函数被调用时,可获取错误信息和Vue 实例。 //main.js import { createApp } from "vue"; import App from "....确定上报内容,应该包含异常位置(行号,列号),异常信息,在错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...使用log4js记录我们错误日志,这个也是非常流行日志插件了,直接贴代码。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列号即可,就会返回压缩前错误信息。

    94710

    Web Worker 中 importScripts 和 baseHref 同源策略绕过问题

    我们可以随意加载外部不同域下脚本,但是如果那些脚本存在错误,我们不能获取到任何有关细节,因为错误本身可能会泄漏信息。...实际上主页仅仅获取到简单"Script error"信息,省略了通常会附带着重要错误信息:错误描述,URL和行号等。主页获取仅仅是错误存在这一简单信息而已。...另外,如果我们找到这个源下读取内容js文件(像XMLHttpRequest),我们最后可以随意使用它并且获取更多材料。...这是我们不能改变baseURI,但是可以大胆地使用WorkerimportScripts 方法。...// Main var worker = new Worker('workerimporterror.js'); worker.onmessage = function(event) {

    1.6K40

    前端异常埋点系统初探

    前端异常捕获 在ES3之前js代码执行过程中,一旦出现错误,整个js代码都会停止执行,这样就显代码非常不健壮。...这个处理函数被调用时,可获取错误信息和Vue 实例。 //main.js import { createApp } from "vue"; import App from "....确定上报内容,应该包含异常位置(行号,列号),异常信息,在错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...使用log4js记录我们错误日志,这个也是非常流行日志插件了,直接贴代码。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列号即可,就会返回压缩前错误信息。

    99120

    如何优雅处理前端异常?

    行号 * @param {Number} colno 列号 * @param {Object} error Error对象(对象) */ window.onerror = function...// source:发生错误脚本URL(字符串) // lineno:发生错误行号(数字) // colno:发生错误列号(数字) // error:Error对象(对象) console.log...(info); } React 异常捕获 React 16 提供了一个内置函数 componentDidCatch,使用它可以非常简单获取到 react 下错误信息 console.log...1.事件处理器 2.异步代码 3.服务端渲染代码 4.在 error boundaries 区域错误 我们来举一个小例子,在下面这个 componentDIdCatch(error,info) 里类会变成一个...动态创建 img 标签形式 function report(error) { let reportUrl = 'http://jartto.wang/report'; new Image().

    1.7K20

    如何优雅处理前端异常?

    /** * @param {String} message 错误信息 * @param {String} source 出错文件 * @param {Number} lineno 行号 * @param...// source:发生错误脚本URL(字符串) // lineno:发生错误行号(数字) // colno:发生错误列号(数字) // error:Error对象(对象) console.log...(info); } 八、React 异常捕获 React 16 提供了一个内置函数 componentDidCatch,使用它可以非常简单获取到 react 下错误信息 componentDidCatch...1、事件处理器 2、异步代码 3、服务端渲染代码 4、在 error boundaries 区域错误 我们来举一个小例子,在下面这个 componentDIdCatch(error,info) 里类会变成一个...动态创建 img 标签形式 function report(error) { let reportUrl = 'http://jartto.wang/report'; new Image().src

    2.1K30

    前端开发,如何优雅处理前端异常?

    行号 * @param {Number} colno 列号 * @param {Object} error Error对象(对象) */ window.onerror = function(...// source:发生错误脚本URL(字符串) // lineno:发生错误行号(数字) // colno:发生错误列号(数字) // error:Error对象(对象) console.log...(info);} 八、React 异常捕获 React 16 提供了一个内置函数 componentDidCatch,使用它可以非常简单获取到 react 下错误信息 componentDidCatch...事件处理器 异步代码 服务端渲染代码 在 error boundaries 区域错误 我们来举一个小例子,在下面这个 componentDIdCatch(error,info) 里类会变成一个...2.动态创建 img 标签形式 function report(error) { let reportUrl = 'http://jartto.wang/report'; new Image().

    96510

    如何优雅处理前端异常?(史上最全前端异常处理方案)

    行号 * @param {Number} colno 列号 * @param {Object} error Error对象(对象) */ window.onerror = function...// source:发生错误脚本URL(字符串) // lineno:发生错误行号(数字) // colno:发生错误列号(数字) // error:Error对象(对象) console.log...(info); } 八、React 异常捕获 React 16 提供了一个内置函数 componentDidCatch,使用它可以非常简单获取到 react 下错误信息 componentDidCatch...事件处理器 异步代码 服务端渲染代码 在 error boundaries 区域错误 我们来举一个小例子,在下面这个 componentDIdCatch(error,info) 里类会变成一个...2.动态创建 img 标签形式 function report(error) { let reportUrl = 'http://jartto.wang/report'; new Image(

    3.4K10

    Js捕获异常方法

    Js捕获异常方法 JavaScript异常主要使用try catch finally语句以及窗口对象windowonerror事件来捕获。...try catch finally try catch finally只能捕获运行时错误,无法捕获语法错误,可以拿到出错信息,堆栈,出错文件、行号、列号。...,当运行时错误产生时,Error实例对象会被抛出,Error对象也可用于用户自定义异常基础对象,Js内建了几种标准错误类型: EvalError: 创建一个error实例,表示错误原因:与eval...window.onerror window.onerror可以捕捉语法错误,也可以捕捉运行时错误,可以拿到出错信息,堆栈,出错文件、行号、列号,只要在当前window执行Js脚本出错都会捕捉到,通过...source:发生错误脚本URL(字符串) lineno:发生错误行号(数字) colno:发生错误列号(数字) error:Error对象(对象) 若该函数返回true

    4.8K20

    前端错误捕获方案总结

    写在前面 在前端监控 sdk 开发中,我们都会用到错误捕获,将页面各类错误进行捕获并上报日志,来获取错误信息,所以我们非常有必要深入了解下各类错误错误捕获方式。...number } lineno 发生错误行号 * @param { number } colno 发生错误列号 * @param { object } error Error对象 */ window.onerror...❌ // new Image运用比较少,可以自己对创建图片使用 onerror 事件单独处理 let img = new Image(); 4)Promise错误 Promise中抛出错误.../Child.js'; // window.onerror 不能捕获render函数错误 ❌ window.onerror = function (err, msg, c, l) { console.log...XMLHttpRequest、fetch 对象,利用 AOP 切片编程重写该方法,实现对请求接口拦截,从而获取接口报错情况并上报 1)拦截XMLHttpRequest请求示例: function

    1.5K30
    领券