python基础(八)-- 异常处理try...except...
1.存在逻辑:
Python 的异常处理,可以理解成:程序运行时出了问题,就转到对应的处理代码。
比如:
number=int(input("请输入一个整数:"))print(10/number)这里有两种可能的问题:
- 输入 “abc”:不能转成整数,会产生 ValueError。
- 输入 0:不能除以零,会产生 ZeroDivisionError。
如果执行出现异常,系统就会自动生成一个异常类型。同时,如果异常没有被处理,程序通常会报错并停止。用 try / except 可以处理这些情况。
异常发生后,try 中剩余的代码会被跳过。 Python 会寻找匹配的 except,处理后继续往下执行;不会回到报错的位置接着运行。
2.try…except…语句中的关键字
| 关键字 | 作用 |
|---|---|
| try | 执行可能发生异常的代码 |
| except | 处理匹配的异常 |
| else | try 没有发生异常时执行 |
| finally | 无论是否发生异常,都执行,常用于清理资源 |
| return | 结束当前函数,避免继续执行try中剩余代码 |
try…except…语句的格式:
try:可能产生异常的代码块1except[(Error1,Error2,...)[ase]]:处理异常的代码块2except[(Error3,Error4,...)[ase]]:处理异常的代码块3except[(Exception)[ase]]:处理其它异常的代码块n3.大模型接口如何找到对应异常名称
以openai的gpt模型为例,可以去官网查看异常类型:https://developers.openai.com/api/docs/guides/error-codes?lang=python
上面也会有对应的示例:
注意:
openai.APITimeoutError 是 APIConnectionError 的子类,所以必须放在它前面捕获,否则会被连接错误分支先截走。
查找Error时要注意子类