为什么 Google Apps 脚本中的 Try / Catch 会在调试模式下停止代码执行?
Why does Try / Catch in Google Apps Script stop code execution in debug mode?
我在 Google Sheet 中使用 Google Apps 脚本。我最近添加了一些代码,由于我试图访问锁定的数据而导致错误。我使用 Try / Catch 尝试了一些基本的错误捕获,当我 运行 我的代码时这工作正常,但在调试模式下,程序停止在有问题的行上执行。我是否使用了 Try / Catch 错误,或者我还缺少其他东西?
这是我的代码:
for (var i=0;i<userGroups.length;i++) {
try {
var temp = userGroups[i].getUsers();
} catch(error) {
console.log(error);
}
...
注意:我没有使用 V8 运行time,因为它给我带来了很多问题。
如果您不使用 V8,调试器会在出现任何错误时停止执行(无论是否已处理),这是一种预期行为
- 事实上,有些用户甚至 complain 表示在 V8 中没有维护此功能。
- 如果您对调试器在处理错误时不停止执行感到满意 - 更改为 V8。
要解决 V8 调试器因 try catch 中的错误而暂停的问题,请将带有 try/catch 的代码放入库中,然后通过引用该库从脚本中调用该代码。这样 try catch 就发生在调试器的控制之外。
我在 Google Sheet 中使用 Google Apps 脚本。我最近添加了一些代码,由于我试图访问锁定的数据而导致错误。我使用 Try / Catch 尝试了一些基本的错误捕获,当我 运行 我的代码时这工作正常,但在调试模式下,程序停止在有问题的行上执行。我是否使用了 Try / Catch 错误,或者我还缺少其他东西?
这是我的代码:
for (var i=0;i<userGroups.length;i++) {
try {
var temp = userGroups[i].getUsers();
} catch(error) {
console.log(error);
}
...
注意:我没有使用 V8 运行time,因为它给我带来了很多问题。
如果您不使用 V8,调试器会在出现任何错误时停止执行(无论是否已处理),这是一种预期行为
- 事实上,有些用户甚至 complain 表示在 V8 中没有维护此功能。
- 如果您对调试器在处理错误时不停止执行感到满意 - 更改为 V8。
要解决 V8 调试器因 try catch 中的错误而暂停的问题,请将带有 try/catch 的代码放入库中,然后通过引用该库从脚本中调用该代码。这样 try catch 就发生在调试器的控制之外。