版权所有,未经许可,禁止转载



try块让你可以检测代码块中的错误。

except块让你可以处理错误。

finally块让你可以执行最终代码,不管tryexcept块的结果如何,finally块的代码都将执行。

异常处理

当错误(或者异常)发生时,Python通常会停止执行,并报错。

这些异常可以使用try/except语句处理:

示例

下面try块会产生异常,因为x没有定义:

try:
print(x)
except:
print("发生异常")

因为try块引发错误,所以except块将被执行。

如果没有try块,程序将崩溃并引发错误:

示例

这个语句会产生一个错误,因为x没有定义:

print(x)

多个except

可以定义多个except,例如,可以为一种特殊错误定义一个专门的except代码块:

示例

这个语句会产生一个错误,因为x没有定义:

try:
print(x)
except NameError:
print("变量x没有定义")
except:
print("其他错误")

else

可以使用else关键字来定义一个代码块,如果没有错误发生,else代码块将被执行:

示例

在这个例子中,try块不会产生任何错误:

try:
print("你好")
except:
print("出错了")
else:
print("一切正常")

finally

如果定义了finally块,则无论try块是否引发错误,都会执行finally块。

示例

try:
print(x)
except:
print("出错了")
finally:
print("'try except'处理结束")

这对于关闭对象、清理资源非常有用:

示例

尝试写一个不可写的文件:

try:
f = open("test.txt")
f.write("奇客谷教程")
except:
print("写文件出错了")
finally:
f.close() # 关闭文件

文件被关闭。

最新文章

  1. JAVA中的Calendar得到当前时间的年份、月份、日期
  2. 【iCore3 双核心板】例程三:EXTI中断输入实验——读取ARM按键状态
  3. Xml序列化、反序列化帮助类
  4. spring框架七大模块
  5. 9款基于HTML5/SVG/Canvas的折线图表应用
  6. js作用域与作用域链
  7. linux swap 分区调控(swap分区 lvm管理)
  8. Javascript 中的非空判断 undefined,null, NaN的区别
  9. SWT的文件选择对话框I的使用
  10. C# 计算文件的HASH
  11. 注解的形式与xml文件的形式完成事务管理及xml文件的配置
  12. Spring中Bean的生命周期及其扩展点
  13. svn解决冲突问题
  14. idea远程调试tomcat
  15. Linux 多网卡绑定bond
  16. BVH with SAH (Bounding Volume Hierarchy with Surface Area Heuristic)
  17. 第三百五十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)介绍以及安装
  18. STL - C++ 11的Lambda表达式(上)
  19. unity状态机实现
  20. oracle调试存储过程不进去

热门文章

  1. 「USACO08JAN」电话线Telephone Lines
  2. 图论初步2<蒟蒻专属,大佬勿喷>
  3. WebEx如何录制电脑内的声音
  4. 本地Git仓库与GitHub/GitLab仓库同步
  5. Lesson 6 The sporting spirit
  6. Lesson 48 Planning a share portfolio
  7. SciPy 特殊函数
  8. 创建用户(adduser和useradd)和删除用户(userdel)及
  9. 连接数据库 - (mysql-thinkphp) (2)
  10. echart 库 初始