在Python无法正确处理程序时,就会发生异常;当发生异常时,我们需要捕获它并进行处理,否则程序会终止运行。但如何处理异常呢?有哪些方法?接下来的就给大家分享Python异常处理机制。

想要学好Python异常处理,我们要了解四个关键词和五种处理机制:

四个关键词:

try:包含着可能引发异常的代码;

except:则用来捕捉和处理发生的异常;

else:如果try块中没有抛出异常,则执行else块;

finally:无论是否发生异常都会被执行,通常用来释放try块中申请的资源。

五种处理机制:

try....except....

参考代码:

str="Leinor"

try:

print(str[100])

except IndexError:

print("下标越界")

print("error")

print("end......")

当程序执行到第2句时发现try语句,进入try语句块执行,发生异常,回到try语句层,寻找后面是否有except语句,找到except语句后,会调用自定义的异常处理器,except将异常处理完毕后,程序继续往下执行,即执行except下的语句,try语句结束后,继续向下执行print(end...)语句。

try....except....finally

参考代码:

str="Leinor"

try:

print(str[100])

except IndexError:

print("下标越界")

finally:

print("try语句执行结束")

print("end......")

finally语句表示无论异常是否发生,finally中的语句都要执行。

try...finally....

参考代码:

str="Leinor"

try:

print(str[100])

finally:

print("try语句执行结束")

print("end......")

finally语句表示,无论异常发生与否,finally中的语句都要执行,但是由于没有except处理器,finally执行完毕后程序便中断,这种情况下,最后一个print语句不会执行,倒数第二个(finally里的print)语句会执行。如果try语句中没有异常,那么最后一个print会执行。

assert

参考代码:

assert False "error..."

print("end......")

assert语句先判断assert后面紧跟的语句是True还是False,如果是True则继续往下执行语句,如果是False则中断程序,调用默认的异常处理器,同时输出assert False语句逗号后面的提示信息。程序中断提示error,后面的语句不执行。

with...as

参考代码:

with open("d:Leinor.txt","r") as f:

f.read()

print(2/0)

print("end...")

我们平时在使用类似文件的流对象时,使用完毕后要调用close方法关闭,很麻烦。这里with...as语句提供了一个非常方便的替代方法,open打开文件后将返回的文件流对象赋值给f,然后在with语句块中使用,with语句块完毕之后,会自动关闭文件。如果with语句发生异常,会调用默认的异常处理器,文件也会正常关闭,但后面的print语句不执行。

想了解更多Python异常处理方法或Python进阶知识点,你可以好好学习一下,专业学习带你一站式搞定不可思议的Python技术。

python异常处理有什么意义_怎么学好Python异常处理 五种处理机制是什么相关推荐

  1. python情绪分析的意义_如何用Python和R对故事情节做情绪分析?

    想知道一部没看过的影视剧能否符合自己口味,却又怕被剧透?没关系,我们可以用情绪分析来了解故事情节是否足够跌宕起伏.本文一步步教你如何用Python和R轻松愉快完成文本情绪分析.一起来试试吧. 烦恼 追 ...

  2. python各个关键词的意思_想学好Python,你必须了解Python中的35个关键词

    每种编程语言都会有一些特殊的单词,称为关键词.对待关键词的基本要求是,你在命名的时候要避免与之重复.本文将介绍一下Python中的关键词.关键词不是内置函数或者内置对象类型,虽然在命名的时候同样也最好 ...

  3. 使用python数据分析的研究意义_大数据分析语言Python的价值和意义

    Python提供了大量用于处理大数据的库.就开发代码而言,您还可以比其他任何编程语言更快地使用Python处理大数据.这两个方面使世界各地的开发人员能够将Python视为大数据项目的首选语言.要获得有 ...

  4. 如何学好python web开发_如何学好python web开发

    1.前言 我在没有接触互联网这个行业的时候,就一直好奇网站是怎么构建的.我现在虽然从事互联网相关的工作,但是也一直没有接触过Web开发之类的东西,不过兴趣终归还是要有的,还要自己动手去实践的.Web开 ...

  5. 计算机编程导论python程序设计答案-学堂在线_计算机科学与Python编程导论_作业课后答案...

    学堂在线_计算机科学与Python编程导论_作业课后答案 答案: 更多相关问题 近代中国完全沦为半殖民地半封建社会的标志是:A.<马关条约>B.<辛丑条约>C.<凡尔赛和 ...

  6. python怎么学习一门语言_如何学习Python这一门语言

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 如果你选择了自学,我想给你提几点建议: 找浅显易懂,例程比较好的教程,从头到尾看下去.不要看很多本,专注于一本.把里面的例程 ...

  7. python自动化测试 视频百度云_柠檬班python自动化测试开发课程

    柠檬班python自动化测试课程大纲 第1节_开学典礼 第2节_环境管理 第3节_编码规范 第4节_项目结构 第5节_元组和列表的原理和操作 第6节_字典和集合的原理和应用 第7节_推导式 第8节_迭 ...

  8. python游戏小项目简单_[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值...

    变量和赋值 到这里,你已经成功地打印出了千寻的名字和卖身契.与此同时,千寻也成为了汤婆婆的工人,渐渐地,她忘记了自己是谁,遗失了自己"姓名"的信息. 那么,在信息纷繁的代码世界里, ...

  9. python重复元素判定编程_从零开始学Python编程四:条件判断与循环

    前面已经介绍了不少Python基础知识,大家不要觉得不耐烦,想要学好Python,做好Python开发,一定要打牢基础.大家也发现了,Python中很多基础知识和数学算法是一样的,比如今天要教给大家的 ...

最新文章

  1. mysql数据库多级分类汇总_sql多级分类汇总实现介绍
  2. 今后军队将完全人工智能化?停止幻想!大趋势和大方向不容改变
  3. solr配置-Schema.xml
  4. 第二章作业第2题--苏志华
  5. 404未找到是什么意思_http404未找到怎么解决(404未找到与9最常见的HTTP错误解释)...
  6. 连接数据库的方法---ODBC
  7. POJ2676,HDU4069解决数独的两种实现:DFS、DLX
  8. JSP的9个内置对象-request
  9. 冒泡排序,递归二分查找法,二分法
  10. outset边框html,CSS3 border-image-outset属性怎么用?
  11. [译]36 Days of Web Testing(六)
  12. 在 React 中构建一个可拖动的滑块
  13. MATLAB中前馈+反馈系统搭建-基于matlab控制系统工具箱
  14. 【电源专题】BUCK电源效率和输出电压的关系
  15. Android手机怎么找回微信好友,安卓手机微信怎么找回删除的好友?专业靠谱!...
  16. 量化投资中常用python代码分析(一)
  17. 如何解决用户对浏览器进行缩放或滚动鼠标滑轮、或调节屏幕显示百分比后,页面变形或显示不全
  18. CUDA学习:Windows下的CUDA环境配置
  19. 计算平均成绩和总成绩
  20. codemirror 只读模式(vue)

热门文章

  1. ToolBar组件的使用
  2. Gitee 上线多项 PR 功能优化,进一步提升审查与提交效率
  3. Python 真的勒死 R 了吗?
  4. Visual Studio 2019 RC入门——第1部分
  5. 使用ML.Net和C#进行机器学习
  6. 微软开源数据处理引擎 Trill,每天可分析万亿次事件
  7. list redis 怎样做排行_list类型的应用场景 —— Redis实战经验
  8. oracle中execute函数,Oracle 动态SQL execute immediate写法 zt
  9. nginx 伪静态php去掉后缀_Nginx与PHP是如何进行交互的?
  10. php图片文字垂直对齐,记一次解决字体图标垂直对齐问题的过程