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人組。その智略を尽くした剣・棒・術・策! 塾があるのに…。塾か? 世界平和か? そして…廊下は走るな!
この記事が気に入ったらサポートをしてみませんか?