python异常处理

python常见标准异常
异常名称描述
SystemExit解释器请求退出
FloatingPointError浮点计算错误
OverflowError数值运算超出最大限制
ZeroDivisionError除(或取模)零(所有数据型)
KeyboardInterrupt用户中断执行
ImportError导入模块/对象失败
IndexError序列中没有此索引(index)
RuntimeError一般的运行错误
AttributeError对象没有这个属性
IOError输入输出操作失败
OSError操作系统错误
KeyError映射中没有这个键
TypeError对类型无效的操作
ValueError传入无效的参数
Python异常处理格式
try:
    语句块1
except 异常类型1:
    语句块2
except 异常类型2:
    语句块3
.......

except 异常类型N:
    语句块 N+1
except:
    语句块N+2
else:
    语句块N+3
finally:
    语句块N+4

除数为零的异常

x = int(input())
y = int(input())
try:
    result = x / y
except ZeroDivisionError:
    print("division by zero")
else:
    print("result is", result)
finally:
    print("executing finally clause")

程序输入:
6
4
程序输出:
result is 1.5
executing finally clause

程序输入:
5
0
程序输出:
division by zero!
executing finally clause



获取整个对象的异常

short_list = [1,2,3]
while True:
    value = input('Position [q to quit]?')
    if value == 'q'
        break
    try:
        position = int(value)
        print(short_list[position])
    except IndexError as err:
        print('Bad index:',position)
    except Exception as other:
        print('Something else broke:',other)


程序输出:
Position [q to quit]? 1
2
Position [q to quit]? 3
Bad index:3
Position [q to quit]? one
Something else broke:
    invalid literal for int() with base 10:'one'
Position [q to quit]? Q

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花小智

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值