加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 强制代码流转到除块之外

发布时间:2020-12-16 23:04:38 所属栏目:Python 来源:网络整理
导读:我有: try: ...except Exception,e: print "Problem. %s" % str(e) 但是,在尝试的某个地方,我需要它表现得好像遇到了异常.这样做是不是pythonic的: try: ... raise Exception,'Type 1 error' ...except Exception,e: print "Problem. Type 2 error %s" % s
我有:
try:
   ...
except Exception,e:
   print "Problem. %s" % str(e)

但是,在尝试的某个地方,我需要它表现得好像遇到了异常.这样做是不是pythonic的:

try:
   ...
   raise Exception,'Type 1 error'
   ...

except Exception,e:
   print "Problem. Type 2 error %s" % str(e)

解决方法

我认为这是一个糟糕的设计.如果(如果没有)引发异常,则需要执行某些操作,这就是else子句的用途.如果你需要无条件地采取一些行动,那就是最终的目的.这是一个示范:
def myraise(arg):
    try:
        if arg:
            raise ValueError('arg is True')
    except ValueError as e:
        print(e)
    else:
        print('arg is False')
    finally:
        print("see this no matter what")

myraise(1)
myraise(0)

您需要将无条件代码最终纳入,并将其他内容放在except / else中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读