我有3个要判断的条件:C1、C2、C3.如果C1出现超时异常,请try C2.如果C2给出超时异常,请try C3.如果C3出现超时异常,则函数返回NONE.但是,如果C1、C2、C3中的任何一个是成功的,则执行函数中的其余代码.

我如下所示使用嵌套的TRY CATCH块,但不确定这是否是正确的方式.请推荐最好的毕德学派方法.

def func():
  try:
    C1
  except:
    try:
      C2
    except:
      try:
        C3
      except:
         return None
  
  try:
    ** Rest of the Code **
    return someValue
  except:
    return None

推荐答案

**You can follow this approach**
def func():
    if CheckC1() or CheckC2() or CheckC3() :
        try:
        ** Rest of the Code **
            return someValue
        except:
            return None
    return None

def CheckC1():
    try:
        C1
        return true
    except:
        return false

def CheckC2():
    try:
        C2
        return true
    except:
        return false

def CheckC3():
    try:
        C3
        return true
    except:
        return false

    
        

Python相关问答推荐

将列中的滚动值集转换为单元格中的单个值

如何循环循环的每个元素并过滤掉Python rame中的条件

Python中的锁定类和线程以实现dict移动

如何计算部分聚合数据的统计数据

Python中两个矩阵的自定义Hadamard风格产物

过滤绕轴旋转的螺旋桨

如何使用entry.bind(FocusIn,self.Method_calling)用于使用网格/列表创建的收件箱

将HTML输出转换为表格中的问题

即使在可见的情况下也不相互作用

try 与gemini-pro进行多轮聊天时出错

使用FASTCGI在IIS上运行Django频道

DataFrame groupby函数从列返回数组而不是值

. str.替换pandas.series的方法未按预期工作

将图像拖到另一个图像

如何制作10,000年及以后的日期时间对象?

从dict的列中分钟

加速Python循环

将pandas Dataframe转换为3D numpy矩阵

使用groupby Pandas的一些操作

如何设置视频语言时上传到YouTube与Python API客户端