小编LaB*_*aux的帖子

如何简化重复的 try- except 块

我有下面的代码需要检查是否找到任何对象的可见属性。try- except 块中的每个首字母缩略词函数如果找到则返回一个对象引用,每个都有自己的visible属性。如果未找到任何首字母缩略词对象,我的程序将因调用(例如)DR() 而引发 LookUpError。我觉得必须有一种方法来简化这段代码,这样我就不必指定所有这些单独的 try- except 块,但我无法考虑如何有效地做到这一点。

    def detect_planning_workflow_page():
        
        workflow = None
        
        try:
            if DR().visible:
                workflow = "DR"
        except LookupError:
            pass
        
        try:
            if LL().visible:
                workflow = "LL"
        except LookupError:
            pass
        
        try:
            if AZ().visible:
                workflow = "AZ"
        except LookupError:
            pass
        
        try:
            if SP().visible:
                workflow = "SP"
        except LookupError:
            pass
        
        try:
            if MS().visible:
                workflow = "Define Region"
        except LookupError:
            pass
        
        return workflow

Run Code Online (Sandbox Code Playgroud)

python lookup error-handling try-except

0
推荐指数
1
解决办法
34
查看次数

标签 统计

error-handling ×1

lookup ×1

python ×1

try-except ×1