Bug的由来
- 世界上第一部万用计算机的进化版-马克2号(Mark II)
- Debug
什么是异常?
- 程序运行时,如果Python解释器遇到错误,就会停止程序,触发异常
- 程序员编写特定代码,专门捕获这个异常,进入另一个处理分支,让程序不会崩溃,这就是异常处理
- 保证程序的稳定新和健壮性
常见异常类型
基本语法
try:
尝试执行的代码
except:
出现错误的处理
try:
num = int(input("请输入数字:"))
print(num)
except:
print("请输入正确的数值类型")
错误类型捕获
程序运行过程中,遇到的异常类型很可能是不同的,需要针对不同类型的异常,做不同的响应
try:
pass
except 错误类型1:
pass
except 错误类型2:
pass
except Exception as e:
print("未知错误 %s" % e)
else:
print("没有异常才会执行的代码")
finally:
print("不论是否异常都会执行的代码")
fruits = ["apple", "banana", "pear", "orange"]
try:
print(hi)
except TypeError:
print("类型错误")
except IndexError:
print("下标索引错误")
except Exception as e:
print("未知错误 %s" % e)
else:
print("没有异常才会执行的代码")
finally:
print("不论是否异常都会执行的代码")
抛出raise异常
在开发过程中,除了代码执行错误Python解释器会抛出异常之外,还可以根据业务需求主动抛出异常。
def check_passwd():
passwd = input("请输入你的密码: ")
if len(passwd) >= 8:
return passwd
raise Exception("密码长度至少8位")
try:
passwd = check_passwd()
print(passwd)
except Exception as e:
print("错误类型为:", e)
使用traceback模块打印异常信息
import traceback
try:
print(10 / 0)
except:
traceback.print_exc()