首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >三、python学习笔记-异常处理-异常处理

三、python学习笔记-异常处理-异常处理

原创
作者头像
堕落飞鸟
发布于 2022-01-12 09:18:02
发布于 2022-01-12 09:18:02
1.3K0
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏
代码语言:javascript
复制
# 异常处理
"""
捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法格式
try:
    pass    #代码块,逻辑
except Exception as e:  #捕获异常类型,类型为Exception,异常信息用e接收
    pass    #捕获到类型为Exception的异常,自动执行当前块的内容
else:
    pass    #如果没有异常发生执行此段代码
finally:
    pass    #无论是否发生异常都执行此处代码

try的工作原理
1、当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。
2、如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
3、如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
4、如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
5、Exception可以捕获任何类型的异常,只要出现就会被捕获。
6、可以在一个try块中设置多个异常捕获,用于捕获各种不同的异常,并分类处理
"""

# 示例1、简单演示异常处理,else和finally可以不写
try:
    i = input('请输入数字:')
    i = int(i)              # 如果用户输入的是字母,无法转换成int类型就会出现异常
except AttributeError as e:  # 捕获用户中断
    print('捕获用户退出异常')
except Exception as e:      # 捕获异常信息,Exception可以捕获任何类型的异常,只要出现就会被捕获
    print('可以捕获所有异常')                # 打印异常信息
else:
    print('输入的数字是:{}'.format(i))
finally:
    print('执行完成')

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档