GoogleスプレッドシートからGoogleApps Scriptを実行しているときに、Google APIの1つが正しく使用されていない場合、スプレッドシートの上部に赤い「バターバー」エラーが表示されます。このメッセージには通常、スクリプト開発者に役立つ情報(Google APIからのエラーメッセージ、たとえば「範囲の座標または寸法が無効です。」)が含まれていますが、必ずしもスプレッドシートユーザーには役立ちません(実際の翻訳)。それを解決するために行うことができます)。
iApp apiドキュメント を検索しましたが、このメッセージをカスタマイズする方法が見つかりませんでした。独自のエラーメッセージをスローすることは可能ですか?
スクリプトからエラーメッセージにデータを渡すための最良の方法は次のとおりです。まず、エラー処理に必要なデータを格納するグローバル変数オブジェクトを設定します。次に、このオブジェクトの各関数の_try{}
_セクションにデータを格納します。最後に、catch(e)
で、エラーデータオブジェクトを渡すerrHandler
関数を呼び出します。次のコードを参照してください:_code.gs
_。
_var onErrObj = {}
function myFunction(){
try{
// function code goes here;
// add more elements to onErrObj as desired;
}catch(e){
onErrObj['data1'] = 'someData';
onErrObj['data'] = 'some Other Data';
errHandler(e,'myFunction');
}
function errHandler(e,strFunc){
var message = e.message+'\n in file: '+e.fileName+' on line: '+e.lineNumber;
var sendto = '[email protected]';
var subject = 'My App encountered an error occured in '+strFunc;
var errProps = JSON.stringify(this.onError);
message = subject+'\n'+message+'\n onError: '+errProps;
GmailApp.sendEmail(sendto, subject, message);
}
_