常见异常类型:
类型 | 描述 |
---|---|
ZeroDivisionError | |
IndexError | 无此索引 |
KeyError | 没有该键 |
NameError | 未声明对象 |
Syntax Error | 语法错误 |
ValueError | 无效参数 |
1. try…except
try:
n1 = int(input("请输入第一个整数:"))
n1 = int(input("请输入第二个整数:"))
result = n1/n2
print(result)
except ZeroDivisionError:
print("除数不能为0")
2. try…except…else…finally
try:
n1 = int(input("请输入第一个整数:"))
n1 = int(input("请输入第二个整数:"))
result = n1/n2
print(result)
except BaseException as e:
print(e)
else:
print('result=%d', result)
finally:
print('程序结束...')
3. traceback
import traceback
try:
n1 = int(input("请输入第一个整数:"))
n1 = int(input("请输入第二个整数:"))
result = n1/n2
print(result)
except:
#0.直接打印
traceback.print_exc()
#1.写到文件
traceback.print_exc(file = open('Fath.txt', 'w+'))
#2.保存到字符串
errInfo = traceback.format_exc()
实际信息是通过下面得到的,但print_exc
会自动调用获取信息
exc_type, exc_value, exc_traceback = sys.exc_info