見出し画像

GAS|スタックトレースを出力する|Exception|fetch|UrlFetchApp|Google Apps Script|開発裏話

マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。

ツイートやその他外部 API 使用などで URL フェッチする際、たまにエラー(例外)が発生して、スクリプトが停止してしまっていました。以下の通りです。

try…catch 構文でハンドリングしたException」オブジェクトから、スタックトレースを出力すると、見やすくて便利です。

例えば、以下のように実装します。

// Makes a request to fetch a URL.
function fetch() {
  try {
    var response = UrlFetchApp.fetch('https://www.mangapost.jp');
  } catch (e) {
    // error!!!
    printStackTrace(e);
  }
}

// Print stack trace.
function printStackTrace(e) {
  Logger.log('FATAL EXCEPTION: ' + e.fileName + ': ' + e.lineNumber + '\n' + e.name + ': ' + e.message + '\n' + e.stack);
}

上記だと、以下のようなログになります。

[19-05-14 17:20:40:130 JST] FATAL EXCEPTION: utils: 139
Exception: DNS エラー: https://www.mangapost.jp
    at utils:139
    at utils:90
    at utils:268 (testForUtils)

マンガポスト日本版

マンガポスト日本版の Twitter 公式アカウントです。
漫画(まんが)・コミックの新刊情報を毎日配信中!

コーヒーブレイク

宇宙一の天才的な頭脳と美貌、そして最悪な性格の持ち主・ドグラ星第一王子…人呼んで「バカ王子」。その魔の手から地球を守るのは…熱血健康優良野球少年7番レフト・筒井雪隆。襲い来る魔物の群れに…不承不承立ち向かう悪ガキ5人組。その智略を尽くした剣・棒・術・策! 塾があるのに…。塾か? 世界平和か? そして…廊下は走るな!

この記事が気に入ったらサポートをしてみませんか?