Do not use a raise statement without a specific exception

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: python-best-practices/no-bare-raise

Language: Python

Severity: Warning

Category: Best Practices

Description

Never use a bare raise and always use a specific exception. Using a specific exception helps you distinguish errors in your program and have appropriate error handling code.

Non-Compliant Code Examples

def myfunc():
  raise  # should use specific exception

if foo:
  raise
else:
  func1()
  raise

for v in list:
  do_something()
  raise

Compliant Code Examples

def myfunc():
  raise MyException

try:
  foo()
except MyException:
  raise  # re-raise exception
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis