4

使用 hello2 而不是 hello1 总是安全的吗?

定义你好1():
    尝试:
        aaa = foo()
        返回aaa
    除了巴兹:
        返回无   

定义你好2():
    尝试:
        返回 foo()
    除了巴兹:
        返回无   
4

2 回答 2

11

是的。

在捕获异常时,先分配然后返回没有区别。分配给aaa完全是多余的。

于 2013-07-12T12:23:20.887 回答
2

是的,它根本没有区别。您可能的异常来源是 foo() 函数,并且您在两个程序中都调用它。将其输出分配给 aaa 不会改变任何内容,因为异常将在调用 foo() 时而不是在分配期间(无论如何位于 try 块中)产生。

于 2013-07-12T12:27:33.000 回答