所以我想知道哪个是写try 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"
Run Code Online (Sandbox Code Playgroud)
选项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"
Run Code Online (Sandbox Code Playgroud)
选项3您可以想到的任何其他更好的选择.
选项1,我们看到我将所有代码都包装在try块中.选项2,它使用嵌套块.它在特定的行语句上引发了一个例外.
如果在某处出现错误,我将很高兴知道它.