no-exception-message-variables¶
Forbid throwaway local variables used only as exception messages.
Message¶
Inline exception message strings instead of assigning throwaway variables.
Valid examples¶
msg = "invalid value"
logger.warning(msg)
raise ValueError(msg)
msg = "invalid value"
raise ValueError(f"{msg}: {value}")
raise ValueError("invalid value")
Show more
err = PermissionError("invalid value")
raise RuntimeError(err)
msg = "invalid value"
raise ValueError(msg) from msg
Invalid examples¶
message = build_message()
raise ValueError(message)
Suggested fix
raise ValueError(build_message())
msg = "invalid value"
raise ValueError(msg)
Suggested fix
raise ValueError("invalid value")
Show more
msg: str = "invalid value"
raise ValueError(msg)
Suggested fix
raise ValueError("invalid value")
msg = "invalid value"
# keep this comment attached to the raise
raise ValueError(msg)
Suggested fix
# keep this comment attached to the raise
raise ValueError("invalid value")
message = f"invalid value: {value}"
raise RuntimeError(message) from exc
Suggested fix
raise RuntimeError(f"invalid value: {value}") from exc
detail = "invalid value"
raise CustomError(code=code, detail=detail)
Suggested fix
raise CustomError(code=code, detail="invalid value")