Итак, я хочу знать, какой правильный способ написать try except statements. Я новичок в обработке ошибок в Python.
Вариант 1
try:
itemCode = items["itemCode"]
dbObject=db.GqlQuery("SELECT * FROM %s WHERE code=:1" % dbName,itemCode).get()
dbObject.delete()
except AttributeError:
print "There no item with that code"
except KeyError:
print "Bad parameter name"
except:
print "Unknow error"
Вариант 2
try:
itemCode = items["itemCode"]
except KeyError:
print "Bad parameter name"
else:
dbObject=db.GqlQuery("SELECT * FROM %s WHERE code=:1" % dbName,itemCode).get()
try:
dbObject.delete()
except AttributeError:
print "There no item with that code"
except:
print "Unknow error"
Вариант 3 Любой другой лучший вариант, о котором вы можете подумать.
Вариант 1, мы видим, что я завершаю весь код в блоке try. Вариант 2, он использует вложенные блоки. Это вызывает исключение в конкретных операторах строки.
Если там где-нибудь ошибка, я буду рад узнать об этом.