Google Apps脚本 - 如何在Try-Catch块中围绕错误打印行号

时间:2012-12-05 06:52:50

标签: google-apps-script

我的脚本有几个try-catch块,它发送有关错误消息的电子邮件。它可以工作,但只发送一行简单的错误消息。我想要的是错误周围的行号和更具描述性的消息,以帮助我确定错误发生的位置。

2 个答案:

答案 0 :(得分:10)

你可以尝试这个(我偷了它),第一个将catched异常中的所有信息转换为字符串。第二个函数可以用来包装一些代码,如果它抛出一个excetopn就把它写在某个地方。

function catchToString (err) {
  var errInfo = "Catched something:\n"; 
  for (var prop in err)  {  
    errInfo += "  property: "+ prop+ "\n    value: ["+ err[prop]+ "]\n"; 
  } 
  errInfo += "  toString(): " + " value: [" + err.toString() + "]"; 
  return errInfo;
}
function catched (f) {
  try {
    f ();
  }
  catch(err) { 
    Logger.log (catchToString (err));
  }
}

答案 1 :(得分:0)

我正在使用Romain Vialard创建的库

https://github.com/RomainVialard/ErrorHandler

try
{
  // function
}
catch(error)
{
  if (ErrorHandler) // library is installed
  {
     ErrorHandler.logError(error);
  }
  else 
  {
    Logger.log(error);
  }
}