Claude Codeでエラーハンドリング:自動化スクリプトを堅牢にする方法

前回は外部ツールとの連携を学びました。今日は自動化スクリプトが途中で止まらないように「エラーハンドリング」を実装する方法を解説します。

なぜエラーハンドリングが重要か

自動化スクリプトは、ネットワーク障害・API制限・データ形式の変化など予期しない問題で失敗します。エラーハンドリングがなければ途中で止まり、気づかないうちに投稿が滞ります。

堅牢なスクリプトは「失敗しても自分で回復するか、明確に報告する」設計になっています。

基本パターン:try-catch で失敗を捕まえる

まずClaudeに基本的なエラーハンドリングの追加を依頼します。

以下のWordPress投稿スクリプトにエラーハンドリングを追加してください。

対応すべきエラー:
・ネットワーク接続失敗(タイムアウト含む)
・APIレート制限(429エラー)
・認証失敗(401エラー)
・サーバーエラー(500系エラー)

各エラーで行うこと:
・エラーの種類とメッセージをログファイルに記録する
・429エラーは60秒待ってからリトライする(最大3回)
・それ以外は即座に失敗としてユーザーに通知する

リトライ処理の実装

一時的なエラーには自動リトライが効果的です。

以下の条件でリトライ機能を実装してください:

・リトライ回数:最大3回
・待機時間:指数バックオフ(1回目5秒・2回目10秒・3回目20秒)
・リトライする条件:タイムアウト・500系エラー・接続失敗
・リトライしない条件:400系エラー(入力が間違っているため)

リトライの試行状況もログに記録すること。

ログファイルの設計

何が起きたかを後で確認できるよう、ログを残すことが重要です。

以下の形式でログを記録するロギング関数を作成してください:

ログファイル:post-log.csv
列:datetime, day_num, title, status(success/error), error_message, retry_count, url

また、ログを確認しやすくするために:
・今週の失敗一覧を表示するコマンド
・連続失敗が3件以上あったら警告を出す処理
も追加してください。

通知機能の追加

スクリプトが失敗したときに気づけるよう、通知を設定しましょう。

スクリプトが失敗したときにWindowsのトースト通知を表示する処理を追加してください。

通知内容:
・タイトル:「投稿失敗」
・本文:エラーの概要(例:「Day34記事の投稿に失敗しました。APIタイムアウト」)

また、1日に3件以上失敗した場合は追加の警告通知も出してください。

定期的な自己診断

問題が起きる前に予防する「自己診断」も自動化できます。

毎朝9時に実行する自己診断スクリプトを作成してください。

チェック項目:
1. WordPressへの接続テスト(テスト投稿を下書きで作成して即削除)
2. 直近7日間の投稿成功率を計算する
3. ログファイルのサイズを確認する(10MB超えたら古いログを圧縮)
4. 問題があれば診断レポートをpost-log.csvに記録する

まとめ

  • try-catchでエラーを捕まえて種類に応じた対応をする
  • 一時的なエラーには指数バックオフで自動リトライする
  • ログをCSVに残すと後から問題の原因を追跡できる
  • Windows通知で失敗に即座に気づける仕組みを作る
  • 毎朝の自己診断で問題が起きる前に予防する

次回は「Claude Codeで収益化の第一歩:アフィリエイトリンクの管理を自動化する」をお届けします。

コメント

タイトルとURLをコピーしました