23

Google スプレッドシートから Google Apps スクリプトを実行するときに、Google API のいずれかが正しく使用されていないと、スプレッドシートの上部に赤い「バターバー」エラーが表示されます。このメッセージには通常、スクリプト開発者にとって役立つ情報が含まれていますが (Google API からのエラー メッセージ、「範囲の座標または寸法が無効です」など)、必ずしもスプレッドシート ユーザーにとっては有用ではありません (実際の翻訳であるとは限りません)。それを解決するために行うことができます)。

UiApp API ドキュメントを検索しましたが、このメッセージをカスタマイズする方法が見つかりませんでした。独自のエラー メッセージをスローすることは可能ですか?

4

3 に答える 3

40

他の JavaScript と同様に、以下を使用できます。

try {
  ...
}
catch (error) {
  throw new Error( "More meaningful error." );
}

質問があなたのものではない場合でも、この使用例は数多くあります。

私の個人的な意見では、サービス呼び出しからエラーをキャッチするのではなく、関数への入力をチェックしてエラーをスローするのが最善です (この回答のように)。try..catch を使用する適切なタイミングは、この回答のように、パラメーターを検証する実用的な方法がない場合です。

于 2013-06-19T00:18:36.877 に答える
-1

アプリケーションがスプレッドシート (msgBox() など) にバインドされている場合、アラート ボックスやその他のダイアログを追加して、アプリケーションのユーザーと対話する可能性を提供する Base クラスを調べることができます。DocumentApp の場合、Ui クラスを使用してそのインターフェイスと対話します。

私は試したことはありませんが、try...catch 構造を throw ステートメントで使用すると、それも機能します。

乾杯

ニコラス

于 2013-06-19T00:14:59.433 に答える