我有一个查询,其中使用了exception:
try:
sm = Something.objects.get(id=5)
except Something.DoesNotExist:
pass
pass在这里做什么?我的意思是如果我的整个视图依赖于sm
,而它没有得到sm
。我应该手动设置“sm”吗
except Something.DoesNotExist:
sm = anything
我只想知道如果pass找不到所查询的内容该怎么办。如果它只是忽略了except后面的部分,然后更进一步,那又有什么意义呢,因为我的整个观点依赖于sm
谢谢
^{} is a null statement that does nothing ,当您由于缩进规则需要语句,但还不想编写代码时,它非常有用。你知道吗
如果您删除它以获得代码:
它将因语法错误而失败。你知道吗
至于如果找不到要查找的项怎么办,这在很大程度上取决于代码的其余部分。但是,在这种情况下,最好向某人显示一个错误,因为发生了这样的情况-您请求了一个不存在的项。你知道吗
上面上下文中的关键字
pass
忽略DoesNotExist
异常。如果程序依赖于代码中某个地方sm
的存在,则应将其设置为None
,并在需要时检查其值。你知道吗或者,您可以在try/catch块的
else
部分执行您的工作。它仅在try
块中的代码未引发异常时执行。你知道吗pass
是no-op
,什么也不做。它需要在except
块中以符合python语法。你知道吗相关问题 更多 >
编程相关推荐