python抛出异常 作者:马育民 • 2024-05-28 13:23 • 阅读:10022 # 说明 [![](/upload/0/0/1IX7luqh7GYY.png)](/upload/0/0/1IX7luqh7GYY.png) 抛异常类似上图:学生请普通病假,老师能做主,就直接处理 学生请传染病的假,老师不能做主,就要上报给院长 如果院长也不能做主,继续上报 内置异常类说明: http://www.malaoshi.top/show_1EF2I6EXS38I.html ### 语法 抛出异常用关键字```raise``` ``` #抛出异常类对象 raise 异常类('错误信息') ``` ### 例子 登录失败就应该抛出异常 ``` class User: def __init__(self, username, password): self.username = username self.password = password def login(self): if self.username == 'admin' and self.password == '123456': return True else: # 抛出异常 raise Exception("用户名不存在或密码错误!") lilei = User('lilei@qq.com', '123456') # lilei = User('admin', '123456') ''' if lilei.login(): print("登录成功") else: print("用户名不存在或密码错误!") ''' try: lilei.login() except Exception as e: print(e) ``` # 处理异常的原则 异常处理原则,相当于 学生遇到问题,能解决就自己解决,解决不了就把问题抛给老师,老师能解决的就解决,解决不了的就抛给校长 总结如下: 1. 如果知道怎么处理异常,那就就用```try...except...```处理。 很多时候不要只是打印错误,否则上层程序不知道是否运行成功,会导致上层程序出bug 2. 如果不知道怎么处理,就把异常抛出去,让上层程序去处理 3. 上层程序处理异常同上 原文出处:http://malaoshi.top/show_1IX7lutKBOsk.html