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