我正在开发下一个实现pymongo的代码。我想捕捉每个错误,例如,在与数据库连接期间。但是,如果我写一个随机的IP(不存在),try/cath就不能正常运行尽管IP不存在,仍打印“确定”。在from pymongo import MongoClient
from pymongo import errors
class Mongo:
def __init__(self):
db = 'random ip'
port = 27017
mps = 50
user = 'admin'
pw = 'pw'
to=100
print('Creating MongoClient ......')
print 'Establishing connection with MongoDB ...... ',
try:
self.client = MongoClient(db, port, maxPoolSize=mps,
username=user, password=pw,
connectTimeoutMS=to)
print 'OK'
except pymongo.errors.ConnectionFailure, e:
print 'ERROR'
logging.error("Connection problem: %s", e)
# Search checks in MongoDB
def search(self):
collections = ['new', 'old']
try:
for data_type in collections:
db = self.client.get_database('db')
collection = db[data_type + '_data']
print 'Opening ' + data_type + '_data DB ...... ',
cursor = collection.find({})
print 'OK'
writeTempData(cursor, data_type)
except Exception as e:
print 'ERROR'
logging.error("Unable find data in DB: %s", e)
if __name__ == '__main__':
# Get json from MongoDB
mongo = Mongo()
mongo.search()
输出:
^{pr2}$
我做错什么了?在
先谢谢你,迈克。在