异常有什么作用,主要在程序中,某些需要注意的地方,或者某些不需要的地方,可以通过抛出异常,在主函数中接收处理,处理结果不用写死在函数里,方便更改处理

#自定义异常类的条件
#1必须是一个类
#2要被exception所包含,也就是Exception是自定义异常类的父类

class NameisError(Exception):
pass

#这样就可以使用NameisErrror这个自定义异常.才能使用raise执行异常


案例
要求
用户输入用户名密码
用户名长度在3-8个字符
用户名中只能出现英文和数字密码必须是6位
密码必须由纯数字

class NameisError(Exception):
    pass
class PWdisError(Exception):
    pasd

#输入用户名密码
name=input()
pwd=input()
#检测用户名密码函数
def check(name,pwd):
    if len(name)<3 or len(name)>8:
        raise NameisError('名字必须在3到8个字符内')
#用isalnum判断并不是很准确,因为中文也会被认为是字母
    if not name.isalnum():
        raise NameisError('名字必须由字母或者数字组成')
    if len(pwd) != 6:
        raise PwdError('密码必须是6位')
    if not pwd.isnumeric():
        raise PwdError('密码必须是纯数字')
    print('登陆成功')

try:
    check(name,pwd)
#捕获异常,输出异常内容
except NameisError as e:
    print(e)
except PwdisError as e:
    print(e)
最后修改:2020 年 10 月 11 日
如果觉得我的文章对你有用,请随意赞赏