首页 > 编程语言 >python学习总结之异常总结

python学习总结之异常总结

时间:2024-09-09 22:26:30浏览次数:14  
标签:总结 python 代码 except try Python print 异常

1. 异常的基本概念

  • 异常(Exception):在程序执行过程中,遇到非正常的或不可预见的状况(如除以零、文件不存在等),导致程序无法按照预期继续执行时,Python会抛出一个异常。
  • 抛出异常(Raise):当Python解释器检测到错误时,它会抛出一个异常。此外,开发者也可以使用raise语句手动抛出异常。
  • 捕获异常(Catch):使用try...except语句块可以捕获并处理异常。try块中放置可能引发异常的代码,except块则用于处理这些异常。

2. 常见的异常类型

Python定义了一系列标准异常,用于处理各种常见的错误情况。以下是一些常见的异常类型:

  • ZeroDivisionError:除数为零时引发。
  • ValueError:传入一个不适当的值(如范围外的值)给函数时引发。
  • TypeError:当操作或函数应用于不适当类型的对象时引发。
  • NameError:尝试访问一个未定义的变量时引发。
  • IndexError:尝试访问序列的索引超出其范围时引发。
  • KeyError:尝试访问字典中不存在的键时引发。
  • FileNotFoundError:尝试打开不存在的文件时引发(在Python 3.x中)。
  • IOError:输入输出错误(在Python 3.x中,IOError已被OSError取代,但IOError仍然可用作OSError的别名)。

3. 异常处理

基本的try...except结构
try:
    # 尝试执行的代码块
    result = 10 / 0
except ZeroDivisionError:
    # 处理ZeroDivisionError异常的代码块
    print("除数不能为0")
捕获多个异常
try:
    # 尝试执行的代码块
    pass
except (ZeroDivisionError, ValueError) as e:
    # 处理ZeroDivisionError或ValueError异常的代码块
    print(f"捕获到异常:{e}")
使用elsefinally
  • else块:如果没有异常发生,则执行else块中的代码。
  • finally块:无论是否发生异常,finally块中的代码都会被执行。通常用于资源清理,如关闭文件或释放锁。
try:
    # 尝试执行的代码块
    pass
except ZeroDivisionError:
    # 处理异常的代码块
    print("除数不能为0")
else:
    # 没有异常时执行的代码块
    print("一切正常")
finally:
    # 无论是否发生异常都会执行的代码块
    print("执行清理工作")

4. 自定义异常

Python允许通过继承内置的Exception类来创建自定义异常。

class MyCustomError(Exception):
    def __init__(self, message="这是一个自定义异常"):
        self.message = message
        super().__init__(self.message)

try:
    raise MyCustomError("出错了!")
except MyCustomError as e:
    print(e)

总结

异常处理是Python编程中不可或缺的一部分,它使程序更加健壮和易于维护。通过合理地使用try...except语句块,以及自定义异常,可以有效地控制程序在遇到错误时的行为,从而提高用户体验和程序的稳定性。

python学习总结之异常总结_Python

标签:总结,python,代码,except,try,Python,print,异常
From: https://blog.51cto.com/u_15266301/11963624

相关文章

  • Python与Go在AIGC领域的应用:比较与分析
    1.引言AIGC(ArtificialIntelligenceGeneratedContent,人工智能生成内容)近年来在图像生成、自然语言处理、代码生成等多个领域取得了重大进展。无论是文本生成、图像创作,还是自动代码生成,AIGC都在推动内容创作进入一个全新的高度。Python凭借其简洁的语法和丰富的机器学习、深度学......
  • 零基础用python开发btc(二bitcoinlib详解)
    bitcoinlib是一个用于Python的比特币库,支持比特币和其他加密货币的生成、交易和管理。以下是如何在Windows、macOS或Linux上安装和使用bitcoinlib的详细教程。1.安装Python首先,确保你安装了Python3.x,并且已配置了pip(Python的包管理工具)。可以在终端中运行以下......
  • 解锁Python中的人脸识别:Face Recognition库详解与应用
    在当今的人工智能时代,人脸识别技术已经成为了计算机视觉领域的一项重要应用。无论是在安全监控、社交媒体还是智能设备中,人脸识别都扮演着不可或缺的角色。在众多的人脸识别工具和库中,Python的FaceRecognition库以其简单易用和高效性而备受青睐。本文将深入探讨FaceRecogniti......
  • Python读写Excel的各种库
    各库的基本信息库名官网/文档地址说明pandaspandasisafast,powerful,flexibletool.用于读写Excel和数据分析(需其他读写引擎)openpyxlAPythonlibrarytoread/writexlsx/xlsmfiles用于读写OOXML格式文件,读写xlsx格式的首选xlsxwriterAPythonm......
  • Python 编程:如何巧妙运用 `abc` 模块解锁面向对象设计的新维度?
    引言在软件开发的世界里,面向对象编程(OOP)作为一门艺术,其精髓在于通过封装、继承与多态来构建可维护性高、易于扩展的系统。而在Python这门语言中,abc模块则为我们提供了一种优雅的方式来定义抽象基类(AbstractBaseClasses,ABCs),从而帮助我们更好地实践OOP的核心原则。本文将带......
  • Python中的接口艺术:从概念到实战
    在软件开发的世界里,“接口”这个术语频繁出现,尤其是在面向对象编程(OOP)的领域中。它不仅是连接不同组件的桥梁,更是提高代码可维护性和可扩展性的关键。Python,作为一种动态类型语言,虽然没有像Java那样严格的接口定义,但通过一些技巧和设计模式,我们依然可以实现类似的功能。今天,就让我......
  • 9月9日 总结
    今天第一次上了数据结构这门课,发现数据结构是由数据结构和算法组成的,主要我们需要学习的事算法相关的知识,数据结构我们简单的已经过完了,接下来一学期我们要进行学习算法方面的相关知识;下午,果不其然我们进行了开学JAVA考试,是这样的,你没有听错!开学考试,虽然有这么一句话叫做,开学考试......
  • Python编程 - 进阶面向对象
    目录前言一、多态(一)多态的示例(二)多态的优势(三)总结二、静态方法(一)定义(二)特点(三)总结三、类属性(一)定义(二)类属性和实例属性的区别(三)使用场景(四)总结四、类方法(一)类方法的特点(二)定义类方法(三)使用场景(四)总结五、类对象(一)创建类对象(二)类对象的特性(三)类对象的使......
  • 用Python实现阿拉伯数字转换成中国汉字
    要将阿拉伯数字转换成中国汉字表示的数字,我们需要一个映射表来转换每个数字,并且处理不同位数的数字(如十、百、千、万等)。1.Python实现阿拉伯数字转换成中国汉字下面是一个完整的Python代码示例,用于实现这一功能。该代码首先定义了一个数字到汉字的映射表,然后定义了转换函数,该函......
  • python怎么封装dll
    Cython是结合了Python和C的语法的一种语言,可以简单的认为就是给Python加上了静态类型后的语法。安装Cython如果已经安装过Cython可以跳过此步。安装Cython需要使用easy_install,Python2.7.9以上的版本已经自带easy_install。在VisualStudio的命令提示符下完成(注意配合Py......