python 关于try语句中使用exit()的疑惑?

最近刚学python,做作业的时候发现在try中加入exit()函数,仍然会执行except内的命令。但是当excpt加上Exception的时候就不会执行命令,想知道下为什么。

try:
    print('1')
    exit()
except:
    print('2')
1
2
try:
    print('1')
    exit()
except Exception:
    print('2')
1
阅读 1k
1 个回答

因为exit属于: SystemExit

class Exception(BaseException):
    """ Common base class for all non-exit exceptions. """
    pass

class SystemExit(BaseException):
    """ Request to exit from the interpreter. """
    pass

except:会将所有的异常都捕获,exit()并不属于Exception。这样就明白了吧。


本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题