【问题标题】:Javascript : How to log function parameter at exception timeJavascript:如何在异常时记录函数参数
【发布时间】:2021-06-21 22:51:29
【问题描述】:

我的 javascript 应用程序中有一些函数

function( param1, param2 )
{

}

有时我会捕获异常,有时会捕获异常

我的问题是:是否可以在异常时注销参数无需明确在每个函数中编写错误处理代码?

function(param1, param2)
{
try { /* Big try block contains all code */  } catch(e) { logger.log( param1 , param2) }
}

如果有什么类似于挂钩异常并打印出原始参数,那就太好了!

【问题讨论】:

  • arguments 是一个类似数组的对象,可在函数内部访问,其中包含传递给该函数的参数值。
  • 谢谢@Bikki。剩下的问题是如何挂钩异常并打印出参数

标签: javascript debugging exception logging


【解决方案1】:

没有在每个函数中显式编写错误处理代码?

您可以为此创建一个高阶函数。

function printErrors(functionToWrap) {
  return function(...args) {
    try {
      functionToWrap(...args)
    } catch (error) {
      console.error(error);
      console.log('all passed parameters');
      args.forEach((e) => console.log(e))
    }
  }
}

function logHello(firstName, lastName) { console.log(`hello ${firstName} ${lastName}`) }

function logHelloError(firstName, lastName) { console.xyz(`hello ${firstName} ${lastName}`) }

printErrors(logHello)('John', 'Doe');
printErrors(logHelloError)('Mick','Jones');

【讨论】:

    猜你喜欢
    • 2014-11-27
    • 2010-11-17
    • 2010-09-13
    • 1970-01-01
    • 2020-12-12
    • 2015-10-01
    • 2021-02-14
    • 2011-05-30
    • 2017-09-06
    相关资源
    最近更新 更多