У меня есть функция, которая принимает класс исключения в качестве аргумента, это упрощенная версия
def catch_exception(exception):
try:
1/0
except exception:
print("lol")
>>> catch_exception(exception=ZeroDivisionError)
lol
Введите подсказку, что это должно быть легко:
def catch_exception(exception: Exception):
...
но когда я затем использую эту функцию, у меня возникает проблема со стороны IDE (PyCharm)
catch_exception(exception=ZeroDivisionError)
# Expected type 'Exception', got 'Type[Exception]' instead
Я понимаю проблему: я передаю КЛАСС исключения, а не ЭКСПЛУАТАЦИЮ исключения.
В то же время я не уверен, как ввести подсказку формально правильным способом. и это имеет ценность документации для пользователя.
Следующее, кажется, работает, но должен быть лучший способ:
def catch_exception(exception: Type[Exception]):
...
Подробнее здесь: https://stackoverflow.com/questions/774 ... -type-hint
Передача типа исключения в качестве аргумента, как ввести подсказку? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как ввести подсказку для определенного типа dict, но разрешить пустой dict в Python 3?
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-