将变量赋值为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发表以下评论后再次尝试过,并且只能通过在调试模式下跳过分配行来重新创建它]
正常运行脚本时(不在调试中)成功完成。
我找到了临时解决方法:
临时(仅用于调试)将var
删除为null
值的变量。]>
注意:没有var
的变量将变为全局变量-因此您可能会意外地更改具有相同名称的全局变量的值。
但是如果没有var
,您将无法在调试器中看到您的变量。因此,另一个解决方法是使用if
语句测试变量以查看调试器中的值:
更改:
var b = null;
暂时(仅用于调试):
b = null; if (b==null){ var b0='null'; } else { var b0=b; }
并在调试器中观察
b0
变量