在Google Sheets中(如Excel等),如果用户在公式中输入了错误的内容,就会在出错的单元格中打印出错误代码,并弹出一个小窗口提供有关错误的更多细节。因此,如果我输入“=SQRT(-1)”,就会在单元格中打印出“#NUM!”,弹出窗口解释该值必须等于或大于0。
如何在Google Sheets中使用自定义函数来实现这一点?抛出异常通常有效。例如,如果我捕获一个越界输入值,然后抛出一个自定义异常,在出错的单元格中打印“#ERROR!”(这很好),并且异常的伴随字符串将打印在相应的弹出窗口中问题是Google Apps脚本引擎也会在异常消息中附加生成异常的相应源代码行,因此弹出窗口中不会简单地阅读“输入值必须介于0.0和1之间。0”,它将读取“输入值必须介于0. 0和1. 0之间(第199行)"。
有没有办法禁止打印行号,或者覆盖弹出窗口的消息?我希望能够抛出自定义错误,并为用户提供详细的错误消息。但我不希望他们因为引用了与他们无关的行号而感到困惑。
4条答案
按热度按时间v09wglhw1#
toe950272#
这是已报告的问题。
访问Issue 4422,星星投票和更新。
kxe2p93d3#
使用
try...catch
和error对象的message属性,然后返回错误消息,而不是抛出错误。参考文献
3duebb1j4#
只是添加到上面关于投掷的评论中。这很好用,因为在谷歌工作表中,它将内部的emessage携带到弹出窗口中。