内置异常

异常处理

while True:
try:
x = int(input('please input a int:'))
r = 10 / x
print(r)
except (ZeroDivisionError, SyntaxError, ValueError) as e:
print(e)
break
其他结构

如果没有异常则执行else

最终要执行finally
抛出异常

try:
... raise NameError('python')
... except NameError:
... print('exception')
... raise
...
exception
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
NameError: python
断言

while True:
try:
age = int(input('How old are you? '))
assert age > 0
if age >150:
raise ValueError('Are you a god?')
elif (age <= 150) and (age > 80):
print('Wish you good health.')
elif (age <= 80) and (age > 60):
print('A new life begins.')
elif (age <= 60) and (age>30):
print('work hard.')
else:
print('I envy you.')
except (ValueError, AssertionError):
print('find you glasses.')
break
网友评论