メインコンテンツまでスキップ

エラーの処理

リスナー内でエラーが発生した場合に try/except ブロックを使用して直接エラーを処理することができます。アプリに関連するエラーは、BoltError 型です。Slack API の呼び出しに関連するエラーは、SlackApiError 型となります。

デフォルトでは、すべての処理されなかった例外のログはグローバルのエラーハンドラーによってコンソールに出力されます。グローバルのエラーを開発者自身で処理するには、app.error(fn) 関数を使ってグローバルのエラーハンドラーをアプリに設定します。

@app.error
def custom_error_handler(error, body, logger):
logger.exception(f"Error: {error}")
logger.info(f"Request body: {body}")