首页 > 编程语言 >Python异常处理的几种方法

Python异常处理的几种方法

时间:2024-06-10 21:33:41浏览次数:24  
标签:Python 代码 except 几种 try print 执行 异常

Python的异常处理语句主要包括以下几个关键字:

  1. try/except

    try 块包含可能会引发异常的代码。except 块则包含用于处理这些异常的代码。

    try:
        # 尝试执行的代码块
        result = 10 / 0
    except ZeroDivisionError:
        # 当发生 ZeroDivisionError 异常时执行的代码块
        print("除数不能为零")
    

    你还可以捕获多种异常类型,或者使用 except 而不指定异常类型来捕获所有异常:

    try:
        # 尝试执行的代码块
        pass
    except (ValueError, TypeError) as e:
        # 当发生 ValueError 或 TypeError 异常时执行的代码块
        print("发生了错误:", e)
    except Exception as e:
        # 捕获所有其他异常
        print("发生了未知错误:", e)
    
  2. else

    else 块是可选的,当 try 块中的代码成功执行而没有引发异常时,else 块中的代码将被执行。

    try:
        # 尝试执行的代码块
        pass
    except Exception as e:
        # 异常处理代码块
        print("发生了错误:", e)
    else:
        # 如果没有异常发生,则执行此代码块
        print("代码执行成功")
    
  3. finally

    finally 块也是可选的,无论 try 块中的代码是否引发异常,finally 块中的代码都将被执行。这通常用于执行清理操作,如关闭文件或释放资源。

    try:
        # 尝试执行的代码块
        with open('myfile.txt', 'r') as f:
            data = f.read()
    except FileNotFoundError:
        # 当文件未找到时执行的代码块
        print("文件未找到")
    finally:
        # 无论是否发生异常,都会执行的代码块
        print("执行清理操作")
    
  4. raise

    raise 语句用于显式地引发异常。你可以使用它来抛出一个特定的异常或创建一个新的异常。

    raise ValueError("这是一个值错误")
    
    # 或者创建一个带有自定义错误消息的异常实例
    try:
        raise Exception("这是一个自定义异常")
    except Exception as e:
        print(e)
    
  5. assert

    虽然 assert 不是专门的异常处理语句,但它也用于错误处理。assert 语句用于测试一个条件,如果条件为假,则引发一个 AssertionError 异常。

    assert 1 == 2, "1 不等于 2"
    # 如果条件不满足(即 1 不等于 2),则引发 AssertionError,并显示 "1 不等于 2"
    

标签:Python,代码,except,几种,try,print,执行,异常
From: https://blog.csdn.net/weixin_40718055/article/details/139486858

相关文章

  • python大学生创新创业大赛竞赛志愿者招募平台_s64ag
    大学生作为我国的年轻高级知识人群,有着较为丰富的知识储备和相较于其他高级知识份子所欠缺的创造力,是符合在我国十三五规划的创业主要人群。但因为大学生这个群体社会实践经验与能力的欠缺,与创业的成功要素所矛盾,导致大部分大学生创业在初期就自行夭折,使大学生创业成为了国家......
  • 用python进行选岗
    importpandasaspdfromopenpyxlimportworkbook#新建一张表存储提取数据wb=workbook.Workbook()#使用pandas的read_excel函数,设置参数sheet_name为None来获取所有sheet的名称sheet_names=list(pd.read_excel('filename.xls',sheet_name=None).keys())forsh......
  • pydispatch:Python中的事件驱动编程
    pydispatch是一个轻量级的事件调度器,广泛应用于实现观察者模式。它允许对象之间通过事件进行通信,而无需直接引用彼此,从而实现代码的模块化和可维护性。1.安装pydispatch使用pip安装pydispatch库:pipinstallpydispatch 2.基本概念pydispatch库中有3个核心概念:信号(Sig......
  • 架构设计-全局异常处理器404、405的问题
    javaweb项目中经常会遇到异常处理的问题,普遍的做法是使用全局异常处理,这样做有以下几种原因:集中化处理:全局异常处理允许你在一个集中的地方处理整个应用程序中的异常。这有助于减少代码重复,因为你不必在每个可能抛出异常的方法中都编写相同的异常处理代码。统一错误响应:通过......
  • Python 潮流周刊#55:分享 9 个高质量的技术类信息源!
    大家好,我是猫哥,今天给大家分享几个高质量的技术类信息源。本文分享的信息源都是周刊类型的,所谓周刊类,就是以固定每周的频率更新,每期分享很多精华内容的链接。它的特点是信息密度极高,可以节省你去查找信息的时间,高效的学习者都会喜欢这类内容。如果不是看了这篇文章,我猜你可能想......
  • 【Python教程】4-字符串、列表、字典、元组与集合操作
    在整理自己的笔记的时候发现了当年学习python时候整理的笔记,稍微整理一下,分享出来,方便记录和查看吧。个人觉得如果想简单了解一名语言或者技术,最简单的方式就是通过菜鸟教程去学习一下。今后会从python开始重新更新,然后更新深度学习的一些框架,一些代码,从CV到NLP都会有相应......
  • python做后端好吗
    Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python是一种计算机程序设计语言,既可用于前端还可用于后端开发。它是一......
  • python为什么要字符串格式化
    Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。相对于老版的%格式方法,它有很多优点。1.在%方法中%s只能替代字符串类型,而在format中不需要理会数据类型;2.单个参数可以多次输出,参数顺序可以不相同;3.填充方式十分灵活,对齐方式十分强......
  • Python函数编程
    ⚠申明:未经许可,禁止以任何形式转载,若要引用,请标注链接地址。全文共计3670字,阅读大概需要10分钟......
  • Python数据框操作 -- 删除数据(去除空值或者特定值)
    先创建一个数据框:importpandasaspddf=pd.DataFrame({'a':[1,1,np.nan,np.nan,4],'b':[5,6,np.nan,8,np.nan]})删除特定值存在的行数据框删去特定值所在行:df1=df.drop(df[df['a']==4].index,inplace=True) 删除存在空值的行删除有空值的所有行:df1=df.dr......