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

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


回答:

因为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 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

以上是 python 关于try语句中使用exit()的疑惑? 的全部内容, 来源链接: utcz.com/p/938603.html

回到顶部