У меня есть функция, которая возвращает обработчик соединения DB из MongoDB. У меня есть другие функции, которые делают вызов в БД, я полагаю, что давайте переместим обработчик подключений в функцию, поэтому мне не нужно определять его в каждой функции.Как правильно использовать try/except в Python
Правильно ли это выглядит? Я думаю, мой вопрос заключается в том, что если он не может подключиться к серверу БД, он будет печатать оба сообщения Could not connect to server
и No hosts found
Как я могу только распечатать «Не удалось подключиться к серверу».
def mongodb_conn():
try:
conn = pymongo.MongoClient()
except pymongo.errors.ConnectionFailure, e:
print "Could not connect to server: %s" % e
return conn
def get_hosts()
try:
conn = mongodb_conn()
mongodb = conn.dbname.collection
b = []
hosts_obj = mongodb.find({'_id': 'PR'})
for x in hosts_obj:
print x
except:
print "No hosts found"
get_hosts()
В 'mongodb_conn' может быть ошибка: в случае возникновения исключения conn будет _never_ быть определен! – ForceBru
возможно 'за исключением: pass' –
@pss arrghh, пожалуйста, не рекомендуется, что это абсолютно ужасно. –