抓住任何东西并将其保存到变量中

jat*_*h03 1 python except

我想知道python中是否有"all"的关键字except.我遇到了这个看似简单的问题:

try:
    #do stuff
except any as error:
    print('error: {err}'.format(err=error))
Run Code Online (Sandbox Code Playgroud)

我知道您可以except:捕获所有错误,但我不知道如何添加as关键字来获取一个有print能力的对象.我想捕获任何错误,并能够获得一个用于打印或其他东西的对象.

zvo*_*one 12

你几乎可以通过这种方式捕获任何东

try:
    #do stuff
except Exception as error:
    print('error: {err}'.format(err=error))
Run Code Online (Sandbox Code Playgroud)

但要抓住真正的一切,你可以这样做:

import sys

try:
    #do stuff
except:
    err_type, error, traceback = sys.exc_info()
    print('error: {err}'.format(err=error))
Run Code Online (Sandbox Code Playgroud)

  • @JackHughes`SystemExit`,`StopIteration`等; 那些不是真正错误的东西,你真的不想抓住(至少没有立即重新加注). (4认同)