eal*_*eon 2 python scope exception-handling python-2.7
关于这两个选项:
try:
    userid = get_userid()
except:
    userid = ""
与
userid = ""
try:
    userid = get_userid()
except:
    pass
是否有任何区别,特别想知道如果userid仅在try块中设置命名空间将如何工作?它们是否都具有相同的命名空间范围?
一个比另一个更受欢迎吗?
像块try和except(也if,elif,else,with)没有"本地范围".但是,您不能也不应该期望try块中的任何代码都将被执行(因为它可能会失败并直接进入except或finally阻塞).
但你确定"""失败"是否user_id合理?为什么不是别的东西,例如None?
你也应该避免捕获所有异常,所以我更喜欢这样的东西:
try:
    userid = get_userid()
except Exception:  # or a more specific exception
    userid = None
| 归档时间: | 
 | 
| 查看次数: | 524 次 | 
| 最近记录: |