异常处理
异常:就是在程序执行的过程中有逻辑等其他的错误导致 , 程序终止运行。
异常处理:在程序执行的过程中 , 发现错误之火对其进行处理 , 让程序可以正常执行不为此被迫停止运行。
1 异常错误
1 , 语法错误 —— SyntaxError
2、逻辑错误
# TypeError 不同的类型数据之间的无效操作 # ValueError 值类型错误 # IndentationError 缩进错误 , 缩进不一致 # AttributeError 没有找到对应的属性 # IndexError 下标索引超出范围 # NameError 名字未定义 # KeyError 在字典中找不到对应的键
2 异常处理
语法格式:
try: 代码块(感觉有问题的代码) except 异常类型: 判断到对应的异常执行的代码 else: 代码块没有异常执行的代码 finally: 不管有没有异常都会执行
在异常类型后面加上as 变量名 , 即将异常信息赋值给变量 , 可以获取异常错误的信息
Exception:可以捕获所有的异常
try: res = '花心超人是个大帅哥' print(res[60]) except Exception: print('字符串没有那么长度') else: print('一切正常') finally: print('就是要执行') try: res = '花心超人是个大帅哥' print(res[60]) except Exception as a: print('字符串没有那么长度') print(a) else: print('一切正常') finally: print('就是要执行')
3 定义异常
1、assert (断言)
发送的AssertionError异常错误
assert 判断表达式 , 返回异常信息(当判断表达式为False时执行)。 相当于 我感觉《判断表达式》是正确的,如果错,就给我报错吧,就用《异常信息》提醒我错了 这句话就是怕以后出事,所以错误控制在这一步,错了赶紧改 感觉鸡肋,判断表达式就已经知道对不对了,还报啥错啊?
x = 100 y = 200 # x>y不对,所以这一步就会报错,执行不到print(x > y) assert x > y , '大脑发育不完全 , 小脑完全不发育' print(x > y)
2、raise
raise Exception(异常信息) 按自己心意抛出异常
money = int(input('请输入支付金额:')) if money < 650: raise Exception(f'money不能小于 650 。当前money的值为{money} , 支付失败') else: print('支付成功')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!