Derived from the flake8-errmsg linter.
Fix is sometimes available.
What it does#
Checks for the use of f-strings in exception constructors.
Why is this bad?#
Python includes the
raise in the default traceback (and formatters
like Rich and IPython do too).
By using an f-string, the error message will be duplicated in the traceback, which can make the traceback less readable.
Python will produce a traceback like:
Instead, assign the string to a variable:
Which will produce a traceback like: