「予期しないエラー」について

3,019 views
Skip to first unread message

Tsuyoshi KUSAKA

unread,
Jul 9, 2013, 6:44:52 AM7/9/13
to google-app...@googlegroups.com
日下@KyotoGASと申します。

Google Apps Scriptで発生する「予期しないエラー」についてご教示ください。

以下のような形で所定のURL・パラメータでアクセスする処理をforループで数十件まわすと、「予期しないエラー」という名前のエラーが発生することがあります。

  try {
    var httpResponse = UrlFetchApp.fetch(url, params);
  } catch (e) {
    //エラー時の処理→リトライ
  }

現状は上記のようにtry catchで囲って、リトライすることでリカバリをしているのですが、このエラーの詳細はエラーオブジェクトの中身をtoSource()で表示させてもわかりませんでした。

「予期しないエラー」とは
・どういう場合に発生するエラーなのでしょうか?名前の通り特定できないものなのでしょうか?
・このエラーの対応策については、どのように行うのがセオリーでしょうか?上記のようなリトライ処理でよいものでしょうか?

ご教示よろしくお願い致します。

Ohashi, Keisuke

unread,
Jul 9, 2013, 7:03:31 AM7/9/13
to google-app...@googlegroups.com

To 日下さん

こんばんは。

大橋(soundTricker サントリー)です。
仰るように
予期しないエラーは、GAS内部で発生している例外です。

必ず起きるような条件がある場合はバグなのでissue登録したほうが良いです。

UrlFetchですと、method:deleteとpayloadを同時に使ったりすると必ず起きます。

またリトライ方法も以下のような感じで僕もやっています。
※ライブラリにしていますが

catch節の長で、
errorオブジェクトを別変数に詰めておいて、
デバッグでブレークポイントを付けずに走らせると、
例外発生タイミングで止まるので、
そのあとステップで動かして行くとErrorオブジェクトの詳細がわかる場合があります。

※だいたいそのケースだとJavaExceptionなのでそれ以上はわかりませんが、、、


2013/07/09 19:44 "Tsuyoshi KUSAKA" <tsuyosh...@gmail.com>:
--
このメールは Google グループのグループ「Google Apps API Japan」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、google-apps-api-...@googlegroups.com にメールを送信します。
このグループに投稿するには、google-app...@googlegroups.com にメールを送信してください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
 
 

Tsuyoshi KUSAKA

unread,
Jul 9, 2013, 8:32:39 PM7/9/13
to google-app...@googlegroups.com
大橋様

日下です。

早々にご返信いただき、ありがとうございます。

> 必ず起きるような条件がある場合はバグなのでissue登録したほうが良いです。

了解致しました。
今のところは偶発的に発生している感じです。


> またリトライ方法も以下のような感じで僕もやっています。
> ※ライブラリにしていますが

なるほどです。
ライブラリにしておくべき内容ですね。


> catch節の長で、
> errorオブジェクトを別変数に詰めておいて、
> デバッグでブレークポイントを付けずに走らせると、
> 例外発生タイミングで止まるので、
> そのあとステップで動かして行くとErrorオブジェクトの詳細がわかる場合があります。

そういう方法があるんですね。

こちらでは、
プロジェクトトリガーで夜間バッチ処理のような形で
一括実行させているときにたまに発生しているので、
デバッガでとらえることはできておりません。


いろいろご教示いただき、ありがとうございました。


2013年7月9日火曜日 20時03分31秒 UTC+9 soundTricker:
このグループから退会し、メールの受信を停止するには、google-apps-api-japan+unsubscribe@googlegroups.com にメールを送信します。
このグループに投稿するには、google-apps-api-ja...@googlegroups.com にメールを送信してください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
 
 
Reply all
Reply to author
Forward
0 new messages