首页
学习
活动
专区
工具
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对应),然后只需传入压缩后的报错行号列号即可,就会返回压缩前的错误信息。

    68920

    前端异常埋点系统初探

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

    66130

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

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

    97310

    前端异常埋点系统初探

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

    1K20

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

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

    1.7K40

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

    行号 * @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.7K10

    如何优雅处理前端异常?

    行号 * @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().

    97010

    Js捕获异常的方法

    Js捕获异常的方法 JavaScript的异常主要使用try catch finally语句以及窗口对象window的onerror事件来捕获。...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.6K30
    领券