Próbuję oznaczyć funkcję jako przestarzałą, aby skrypt wywołujący ją działał do normalnego zakończenia, ale został przechwycony przez inspekcje kodu statycznego PyCharm. (Są też inne pytania dotyczące tego zaniechania ostrzeżeń, ale myślę, że poprzedzają Python 2.6, kiedy wierzę wyjątki klasy oparte zostały wprowadzone.)Jak podnieść DeprecationWarnings w Pythonie 2.7?
Oto co mam:
class Deprecated(DeprecationWarning):
pass
def save_plot_and_insert(filename, worksheet, row, col):
"""
Deprecated. Docstring ...<snip>
"""
raise Deprecated()
# Active lines of
# the function here
# ...
moim rozumieniu jest to, że Przestarzałe ostrzeżenia powinny zezwalać na uruchomienie kodu, ale ta próbka kodu faktycznie zatrzymuje się po wywołaniu funkcji. Kiedy usunę "podniesienie" z treści funkcji, kod zostanie uruchomiony, ale PyCharm nie oznaczy wywołania funkcji jako przestarzałe.
Jaki jest Pythoniczny (2.7.x) sposób oznaczania funkcji jako przestarzałe?
Użyj dekorator? –