所以我想知道哪个是正确的方式来写try语句.我是
Python中错误处理的新手.
选项1
try:
itemCode = items["itemCode"]
dbObject=db.GqlQuery("SELECT * FROM %s WHERE code=:1" % dbName,itemCode).get()
dbObject.delete()
except AttributeError:
print "There's 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's no item with that code"
except:
print "Unknow error"
选项3
任何其他更好的选择,你可以想到.
选项1,我们看到我将所有的代码包装在一个try块中.
选项2,它使用嵌套块.它会对特定行语句引发异常.
如果某个地方有错误,我会很高兴知道.