В настоящее время мое приложение работает с несколькими внешними API, и эти функции могут вызывать какие-то ошибки, и я хотел бы знать обо всех ситуациях и не создавать sh мое приложение. В следующем фрагменте кода вы можете увидеть мою функцию, используя slack api (это просто пример, а не реальный пример), и вы можете увидеть, как я создаю пробел с именем и адресами электронной почты. Эта функция может возвращать несколько ошибок, таких как APIerror, TypeError ... et c et c
Также вы можете видеть, что все функции в этом файле могут вызывать некоторые ошибки, поэтому она использует try и кроме как и попытаться не сломать наше приложение. В части, за исключением, я не хочу делать ничего особенного, просто вернуть ошибку или я не знаю, вызвать пользовательскую ошибку. В будущем было бы здорово, если бы я мог поставить в очередь эту задачу, если что-то пойдет не так.
slack_client.py
def create_space():
try:
slack_api.create.space(spaceName='space name', email=emails)
except (...):
...
def delete_space():
try:
slack_api.delete.space(spaceId=space_id)
except (...):
...
Я хотел бы изменить рефакторинг, за исключением части, потому что Я не хочу копировать и вставлять попытку, кроме как во время всего моего класса slack_client, но в случае, если соединение не работает или какой-то параметр wron, API "Slack" выдаст мне ошибку.
I Мысль о создании класса, для запуска каждой функции внутри try и catch, но это немного странно, и я потеряю часть аргументов, например "spaceName = 'space name'", что, я думаю, действительно круто и понятно.
def execute_func(func, *args):
try:
func(args)
except (..):
...
Поэтому хотелось бы некоторой помощи для такого рода ситуаций, потому что обрабатывать внешний API не всегда очень просто ... (на данный момент работа с 2 внешними API)