猿问

Python:虽然不是异常

所以我知道您可以使用try/except块来操作错误的输出,如下所示:


try:

    print("ok")

    print(str.translate)

    print(str.foo)

except AttributeError:

    print("oops, found an error")


print("done")

...这给出了以下输出:


ok

<method 'translate' of 'str' objects>

oops, found an error

done

现在,有没有办法用while循环来做以下事情while not AttributeError,像这样:


while not AttributeError:

    print("ok")

    print(str.translate)

    print(str.foo)

print("done")

这将提供与上述相同的输出,只是没有oops, found an error? 这将减少对except: pass类型块的需求,如果您在except块中无事可做,那么类型块是必要的但有点无意义。


我尝试了while not AttributeError和while not AttributeError(),它们都完全跳过了while块中的任何内容。那么,有没有办法在 Python 中做到这一点?


编辑:这本身真的不是一个循环,但是 while 块会运行,如果遇到错误,则继续,如果到达结尾,则继续。


慕森卡
浏览 162回答 3
3回答
随时随地看视频慕课网APP

相关分类

Python
我要回答