assertRaises must check for 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/assertraises-specific-exception

Language: Python

Severity: Warning

Category: Error Prone

Description

When checking an exception, check for a specific exception. Checking for Exception may bypass the verification of the correct behavior of the program.

Using a generic exception is error-prone and give a false sense of correctness. Instead, use the correct exception to check against.

Non-Compliant Code Examples

self.assertRaises(Exception, foo)  # check a specific Exception, not a generic one

Compliant Code Examples

self.assertRaises(ValueError, foo)
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