try:
first_number = int(input('输入第一个数:'))
second_number = int(input('输入第二个数:'))
# 除法运算
result = first_number / second_number
print('除法计算的结果是:', result)
except (ValueError, ZeroDivisionError) as err:
print(type(err))
print('有错了,', err)
else:
# 如果try代码块中有异常则不会被执行,只有try中没有异常的时候才会执行
print('----------->else')
finally:
print('---------->finally')
# ZeroDivisionError
'''
raise使用+自定义异常
1. 系统异常:
ValueError TypeError IndexError FileNotFoundError ...
'''
try:
for i in range(5):
if i == 7:
# 手动抛出一个异常对象
raise ValueError('i是3的时候扔出异常aaaaa')
print('---------', i)
except Exception as err:
print(err)
'''
自定义异常:
步骤:
1.定义一个类继承Exception
2.
'''
class NameError(Exception):
''' 名字命名错误,必须长度是6位'''
def __init__(self, msg):
self.msg = msg
def __str__(self):
return '[NameError]{}'.format(self.msg)
class PasswordError(Exception):
pass
name = input('请输入姓名:')
password = input('输入密码:')
if len(name) != 6 or name[0].isdigit():
raise NameError('名字格式错误')
if len(password)<6:
raise PasswordError('密码必须6位或者以上')
# IndexError