Python学习之路13——异常处理

Python学习之路13——异常处理

常见异常

AssertionError      断言语句失败
AttributeError      尝试访问未知的对象属性
NameError           尝试访问一个不存在的变量
KeyError            字典中查找一个不存在的关键字
OverflowError       数值运算超出最大限制
SytaxError          Python的语法错误
ImportError         导入模块失败
IndexError          索引超出序列范围
IndentationError    缩进错误
TabError            Tab和空格混用
TypeError           不同类型间无效操作
ZeroDivisionError   除数为0

try-except-else

try:
    检测范围
except Exception[as reason]:
    出现异常(Exception)后的处理代码
else:
    try内语句执行完毕没有出现异常时执行的代码


捕获任何异常
try:
    检测范围
except:
    出现任何异常时执行的代码
else:
    没有出现任何异常时执行的代码
# 除0异常、值异常
# 分开捕获,分开处理,或者统一处理
""" file """
try:
    a = int(input('Please input a number: '))
    b = int(input('Please input a number: '))
    res = a/b
except ZeroDivisionError as reason:
    print('程序出错啦!\n错误原因是:' + str(reason))
except ValueError as reason:
    print('程序出错啦!\n错误原因是:' + str(reason))
else:
    print('程序正常运行啦!\n运行结果是:%d/%d=%d' %(a, b, res))
    
    
""" file """
try:
    a = int(input('Please input a number: '))
    b = int(input('Please input a number: '))
    res = a/b
except (ZeroDivisionError, ValueError) as reason:
    print('程序出错啦!\n错误原因是:' + str(reason))
else:
    print('程序正常运行啦!\n运行结果是:%d/%d=%d' %(a, b, res))
    


""" shell """
Please input a number: 10
Please input a number: 0
程序出错啦!
错误原因是:division by zero     	


""" shell """
Please input a number: 10
Please input a number: 2.5
程序出错啦!
错误原因是:invalid literal for int() with base 10: '2.5'


""" shell """
Please input a number: 10
Please input a number: 5
程序正常运行啦!
运行结果是:10/5=2

try-except-finally

try:
    检测范围
except Exception[as reason]:
    出现异常(Exception)后的处理代码
finally:
    无论如何都会执行的代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值