空の例外処理ブロック

空の例外処理ブロック

説明

exceptブロックでpassだけを実行すると、エラーが黙って無視され、必要な失敗処理や復旧が行われない可能性があります。

想定される影響

  • セキュリティ検証に失敗しても、通常の処理が続く可能性があります。
  • 原因がログに残らず、障害対応が遅れる可能性があります。

対処方法

  • 例外をログに記録し、失敗を明確に返すか再送出してください。
  • 復旧できる具体的な例外だけを捕捉し、復旧処理を明示してください。

例

変更前

python
try:
    value = values[0]
except IndexError:
    pass

変更後

python
try:
    value = values[0]
except IndexError:
    logger.exception("missing value")
    raise

説明:

  • 変更前: 例外を黙って無視するため、必要な失敗処理や復旧が省略される可能性があります。
  • 変更後: 例外をログに残し、呼び出し元に失敗を明確に返すか、例外を再送出します。

参考資料