使用hello2而不是hello1是否总是安全的?
def hello1(): try: aaa = foo() return aaa except baz: return None def hello2(): try: return foo() except baz: return None
答案 0 :(得分:11)
是的,是的。
首先分配然后返回在捕获异常方面没有区别。 aaa
的分配完全是多余的。
答案 1 :(得分:2)
是的,根本没有任何区别。您可能的异常来源是foo()函数,无论如何都要在两个程序中调用它。将其输出分配给aaa不会改变任何东西,因为异常将在分配期间调用foo()时发生(无论如何都位于try块中)。