我有一些类似于此的 django 代码(这是 python 2.7.1)
try:
a = some_model.objects.get(some_field='foo') #this could except if for some reason it doesn't exist
method_that_throws_exception() #it won't reach this if we get a DoesNotExist
except some_model.DoesNotExist:
#if it doesn't exist create it then try again
a = some_model.objects.create(....)
try:
method_that_throws_exception() #this time lets say another exception is raised by method
print 'this should not print right?'
except Exception as e:
logging.error("error msg here")
问题是“这不应该打印”行仍在打印。我对此感到困惑。我觉得我可能忽略了一些非常简单的事情,但目前可能有一些隧道视野。提前致谢。
更新:另外,如果我删除嵌套的 try 块,则在调用引发异常的方法下方的打印仍然会打印。