将Google Apps Script V8分配为null会取消调试

问题描述 投票:3回答:1

将变量赋值为null会导致调试取消该行的执行。这是一个重现问题的测试脚本:

function myFunction() {
  var a = "Hallo";
  Logger.log("a=" + a);
  var b = null;
  Logger.log("b=" + b);
}

调试时,此脚本的执行在“ var b = null;”行被取消。日志输出为:

Mar 11, 2020, 8:52:49 PM    Info    a=Hallo
Mar 11, 2020, 8:52:54 PM    Info    Execution cancelled.

在调试模式下越过该行并越过该行时,结果是相同的。但是,在后一种情况下,红色错误消息会在屏幕顶部闪烁一会儿,提示:“很抱歉,发生服务器错误。请稍等片刻,然后重试。” ...等待并重试没有不同。[今天在Jeff发表以下评论后再次尝试过,并且只能通过在调试模式下跳过分配行来重新创建它]

正常运行脚本时(不在调试中)成功完成。

google-apps-script v8 google-apps-script-editor
1个回答
1
投票

我找到了临时解决方法:

临时(仅用于调试)将var删除为null值的变量。]​​>

注意:没有var的变量将变为全局变量-因此您可能会意外地更改具有相同名称的全局变量的值。

但是如果没有var,您将无法在调试器中看到您的变量。因此,另一个解决方法是使用if语句测试变量以查看调试器中的值:

更改:

  var b = null;

暂时(仅用于调试):

  b = null;
  if (b==null){
    var b0='null';
  } else {
    var b0=b;
  }

并在调试器中观察b0变量

© www.soinside.com 2019 - 2024. All rights reserved.