在Google表格中(与Excel等一样)如果用户在公式中输入错误输入,则会在违规单元格中打印错误代码,并且小弹出窗口会提供有关错误的更多详细信息。因此,如果我输入' = SQRT(-1)',' #NUM!'在单元格中打印,弹出窗口解释该值必须等于或大于0。
如何使用Google表格中的自定义功能复制此内容?抛出异常主要起作用。例如,如果我捕获一个越界输入值然后抛出一个自定义异常," #ERROR!"在违规的单元格中打印(很好),并在相应的弹出窗口中打印出例外的字符串(也很好)。问题是Google Apps脚本引擎还会在异常消息中附加生成异常的相应源代码行。因此,只需阅读"而不是弹出窗口,输入值必须介于0.0和1.0之间,它将读取"输入值必须介于0.0和1.0之间(第199行)&#34 ;
有没有办法抑制行号的打印,或覆盖弹出式消息?我希望能够为我的用户抛出自定义错误并提供详细的错误消息。但是我不希望他们被与他们无关的行号的引用混淆。
答案 0 :(得分:1)
这是一个报道的问题。
访问Issue 4422,明星投票和更新。
答案 1 :(得分:0)
{{1}}
答案 2 :(得分:0)
使用try...catch
和错误对象的message属性,然后返回错误消息而不是抛出错误。即:
/**
*
* @customfunction
*/
function myDiv(dividend,divisor){
var quotient;
try{
quotient = dividend / divisor;
} catch(error) {
quotient = error.message;
} finally {
return quotient;
}
}
参考