Abnormal 3


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

 

Published 256 original articles · won praise 6 · views 3504

Guess you like

Origin blog.csdn.net/piduocheng0577/article/details/105105836