首页 > 编程语言 >python——异常

python——异常

时间:2024-03-03 11:55:32浏览次数:21  
标签:语句 python except else try finally 异常

 

 

 

 

在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。

使用 else 包裹的代码,只有当 try 块没有捕获到任何异常时,才会得到执行;反之,如果 try 块捕获到异常,即便调用对应的 except 处理完异常,else 块中的代码也不会得到执行。

 

 

 

 

 

 

 

 

Python 异常处理机制还提供了一个 finally 语句,通常用来为 try 块中的程序做扫尾清理工作。

注意,和 else 语句不同,finally 只要求和 try 搭配使用,而至于该结构中是否包含 except 以及 else,对于 finally 不是必须的(else 必须和 try except 搭配使用)。

在整个异常处理机制中,finally 语句的功能是:无论 try 块是否发生异常,最终都要进入 finally 语句,并执行其中的代码块

基于 finally 语句的这种特性,在某些情况下,当 try 块中的程序打开了一些物理资源(文件、数据库连接等)时,由于这些资源必须手动回收,而回收工作通常就放在 finally 块中。

Python 垃圾回收机制,只能帮我们回收变量、类对象占用的内存,而无法自动完成类似关闭文件、数据库连接等这些的工作。

读者可能会问,回收这些物理资源,必须使用 finally 块吗?当然不是,但使用 finally 块是比较好的选择。首先,try 块不适合做资源回收工作,因为一旦 try 块中的某行代码发生异常,则其后续的代码将不会得到执行;其次 except 和 else 也不适合,它们都可能不会得到执行。而 finally 块中的代码,无论 try 块是否发生异常,该块中的代码都会被执行。

 

 

 

 

 

 

 

标签:语句,python,except,else,try,finally,异常
From: https://www.cnblogs.com/xiaobaibailongma/p/18049789

相关文章

  • Python环境安装与配置
    Python的环境安装与配置Python是一种流行的编程语言,它被广泛应用于数据分析、人工智能、Web开发等领域。在进行Python开发之前,首先需要安装和配置Python环境。本文将为大家介绍如何在Windows系统中安装和配置Python环境。一、下载Python安装版本文件首先在浏览器中打开Python官......
  • python——面向对象——知识汇总三
    Python封装机制及实现方法 封装(Encapsulation),即在设计类时,刻意地将一些属性和方法隐藏在类的内部,这样在使用此类时,将无法直接以“类对象.属性名”(或者“类对象.方法名(参数)”)的形式调用这些属性(或方法),而只能用未隐藏的类方法间接操作这些隐藏的属性和方法。    Pyt......
  • Python 潮流周刊第 40 期(摘要)
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。周刊全文:https://pythoncat.top/posts/2024-03-02-weekly以下是本期摘要:......
  • Python模块之urllib url编码
    模块作用简介:Python模块之urlliburl编码官方英文帮助:https://docs.python.org/3/library/官方简体中文帮助:https://docs.python.org/zh-cn/3/library/必要操作:>>>importurllib安装:python3内置函数,无需安装如果像在py3里装py2的版本,需要指定版本号例......
  • What does -> mean in Python function definitions?
    Whatdoes->meaninPythonfunctiondefinitions?InPython,the"->"symbolisusedtoindicatethereturntypeofafunction.ItispartofthefunctiondefinitioninaPython3.5orlater.Forexample,thefollowingcodedefinesafunct......
  • python推导式(comprehension)
    #推导式#1.zip()函数##功能:将多个迭代器Iterator对象或者可迭代对象中的元素压缩在一起,返回一个zip对象##zip对象既是一个可迭代对象也是一个迭代器对象names=["Tony","Tom","Gray","Lisa"]grades=[11,22,31,21]chart1=zip(names,grades)print(list(ch......
  • python 正则表达式
    正则表达式(regularexpression)关于这个知识点菜鸟教程上介绍的很详细还有一个是介绍各种语言的正则表达式的正则表达式是一个特殊的字符序列,利用事先定义好的一些特定字符以及它们的组合组成一个“规则”,检查一个字符串是否与这种规则匹配来实现对字符的进行过滤。正则表达......
  • Selenium自动化爬取网页数据——Python实现
    Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,MozillaFirefox,Safari,GoogleChrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作......
  • python的基础知识
    python的保留字与运算符的区别保留字是Python语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。在实际开发中,如果使用Python中的保留字作为标识符,则解释器会提示“invalidsyntax”的错误......
  • python面向对象(Object Oriented Program)
    面向对象(ObjectOrientedProgram)在Python中,所有的数据(包括数字和字符串)实际都是对象,同一类型的对象都有相同的类型。我们可以使用type()函数来获取关于对象的类型信息。什么是类,什么是对象?在Python中,使用类来定义同一种类型的对象。类(class)是广义的数据类型,能够定义复......