【Python】异常处理 ① ( 异常概念 | 异常处理 | 异常捕获 )

news2024/11/9 2:07:34

文章目录

  • 一、Python 异常简介
    • 1、异常概念
    • 2、Python 异常示例
  • 二、Python 异常处理
    • 1、异常处理简介
    • 2、代码实例 - 出现异常代码
    • 3、代码实例 - 出现异常并进行捕获处理





一、Python 异常简介




1、异常概念


Python 异常 是在程序运行过程中发生的错误或问题的表示 ;

出现异常可能会中断程序的正常执行流程 , 并引发一个异常对象 ;

此时 , 需要 捕获和处理 异常对象 , 以防止程序崩溃或引发更严重的错误 ;


2、Python 异常示例


在之前的博客中介绍了文件操作 , 如果以只读的形式打开不存在的文件 , 就会导致异常的出现 ;

出现异常代码 :

"""
文件操作 代码示例
"""
import time

with open("file3.txt", "r", encoding="UTF-8") as file:
    print("使用 write / flush 函数向文件中写出数据(以追加模式打开文件): ")

    # 写出数据
    file.write("Tom and Jerry")

    # 刷新数据
    file.flush()

    # 关闭文件
    file.close()

出现异常 :

/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
Traceback (most recent call last):
  File "/Users/zyq/PycharmProjects/Hello/main.py", line 6, in <module>
    with open("file3.txt", "r", encoding="UTF-8") as file:
FileNotFoundError: [Errno 2] No such file or directory: 'file3.txt'

Process finished with exit code 1

在这里插入图片描述





二、Python 异常处理



程序出现异常有两种情况 :

  • 整个应用因为该异常停止运行 ;
  • 对异常进行捕获处理 , 应用正常运行 ;

1、异常处理简介


程序出现异常导致无法运行 , 这种情况下 并不是要求程序没有异常完美运行 , 而是在力所能及的范围内 , 对可能出现的异常进行处理 ;

异常处理 就是 在可能出现异常的代码块中 , 对可能出现的异常做好提前准备 , 出现异常时将异常捕获 , 然后针对异常类型进行不同的处理 ;

异常捕获语法 :

try:
	可能出现异常的代码块
except:
	出现异常后执行的代码块

2、代码实例 - 出现异常代码


执行

"""
文件操作 代码示例
"""

open("file3.txt", "r", encoding="UTF-8")

代码 , 会报如下异常信息 :

Traceback (most recent call last):
  File "/Users/zyq/PycharmProjects/Hello/main.py", line 6, in <module>
    open("file3.txt", "r", encoding="UTF-8")
FileNotFoundError: [Errno 2] No such file or directory: 'file3.txt'

3、代码实例 - 出现异常并进行捕获处理


代码示例 :

"""
文件操作 代码示例
"""

try:
    open("file3.txt", "r", encoding="UTF-8")
except:
    print("出现异常, 进行异常处理")
    open("file3.txt", "w", encoding="UTF-8")

执行结果 :

/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 
出现异常, 进行异常处理

Process finished with exit code 0

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/677857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软件设计师暴击考点】面向对象考点暴击系列

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;软件…

记录好项目D12

记录好项目 你好呀&#xff0c;这里是我专门记录一下从某些地方收集起来的项目&#xff0c;对项目修改&#xff0c;进行添砖加瓦&#xff0c;变成自己的闪亮项目。修修补补也可以成为毕设哦 本次的项目是个房屋租赁系统 一、系统介绍 包括管理员、房东、租客三种角色&#…

【小沐学数据库】MongoDB下载、安装和入门(Python)

文章目录 1、简介2、下载和安装2.1 平台支持2.2 MongoDB Community Server2.3 MongoDB Shell2.4 MongoDB Compass2.5 pymongo库 3、概念3.1 数据库3.2 文档(Document)3.3 集合&#xff08;Collection&#xff09;3.4 元数据3.5 数据类型 4、Python代码测试4.1 连接数据库4.2 指…

kafka基础

文章目录 1、什么是消息队列&#xff1f;2、基础架构3、Kafka为什么快4、零拷贝5、Rebalance机制6、kafka如何避免重复消费7、避免消息丢失8、Kafka怎么实现消息的顺序消费9、什么是ISR10、Kafka文件存储机制 1、什么是消息队列&#xff1f; kafka是一个消息队列的中间件&…

ProGuard混淆及R8优化

前言&#xff1a;使用java编写的源代码编译后生成了对于的class文件&#xff0c;市面上很多软件都可以对class文件进行反编译&#xff0c;况且Android开发的应用程序是用Java代码写的&#xff0c;为了很好的保护Java源代码&#xff0c;我们需要对编译好后的class文件进行混淆。…

切底掌握Android中的Kotlin DSL

前言 在这篇文章中&#xff0c;我们将学习如何在您的 Android 项目中编写 Kotlin DSL。 这个文章会很长&#xff0c;所以花点时间&#xff0c;让我们一起来写你的 DSL。我们将讨论以下主题&#xff0c; 什么是简单英语中的 DSL&#xff1f;您使用任何 DSL 吗&#xff1f;为什…

微服务的文件配置

1 基于本地文件配置的痛点 ①修改本地配置文件 需要重启服务 ②viper能监听本地配置文件变动 修改内存中变量的值 貌似可以满足需求 痛点如果实例过多 手动改极有可能出错 很多服务都依赖一个配置 运维可以写脚本批量修改 出问题运维不想背锅 ③ 多语言开发的实例 使用…

ThreadX在mdk(AC5)中的移植

1.ThreadX简介 Threadx是由 Express Logic 公司开发的一款实时操作系统&#xff08;RTOS&#xff09;&#xff0c;2019年被微软收购&#xff0c;成为了微软的一款Azure RTOS。在2020年&#xff0c;ThreadX也加入了开源大军&#xff0c;将ThreadX内核及其各大组件开源免费。 Th…

电赛汇总(一):微控制器以其外围电路模块设计

电赛汇总(一)&#xff1a;微控制器以其外围电路模块设计 这一章节主要详细记录各种常用的微控制器的引脚功能、外围的电路模块等&#xff0c;以便随时查看翻阅。这部分内容出自黄智伟等学者著的《全国大学生电子设计竞赛教程–常用电路模块制作》一书中&#xff0c;感兴趣的朋…

PS2022版本修复打开闪退问题

前言 windows 11 系统最近换了一台电脑&#xff0c;重新装了一批摄影剪辑软件&#xff0c;在使用过程中发现 PS2022 版本一但导入图片就卡死闪退。起初我以为是版本不兼容问题&#xff0c;但是问了一下对应的朋友他们并未出现这种情况。后面我就从百度中开始捞答案&#xff0c…

适用于平坦草原的近地层以上风廓线推算方法

目录 引言1 数据观测和处理1.1 观测实验和仪器1.2 数据处理 引言 本文研究平坦草原近地层之上的风廓线特征&#xff0c;尤其是不同稳定度情况下风随高度的变化&#xff1b;得到适用于本地的粗糙度、边界层高度和地转风的估测方法。 在上述研究的基础上&#xff0c;本文用上述…

如何快速的阅读一本书

B站&#xff1a;【读书方法】读不进&#xff1f;记不住&#xff1f;5分钟教你如何快速高效读书 | 读书会犯的5大错误&#xff01; 1 看着书皮&#xff0c;思考一下自己为什么读这本书&#xff0c;是为了解决什么问题。 2 要看目录&#xff0c;根据目录看一下这本书能不能解决…

0002Java程序设计-SSM协同过滤算法的新闻推荐系统

摘 要 “互联网”的战略实施后&#xff0c;很多行业的信息化水平都有了很大的提升。但是目前很多行业的管理仍是通过人工管理的方式进行&#xff0c;需要在各个岗位投入大量的人力进行很多重复性工作&#xff0c;使得对人力物力造成诸多浪费&#xff0c;工作效率不高等情况&am…

FPGA时序约束--实战篇(读懂Vivado时序报告)

目录 一、新建工程 二、时序报告分析 1、打开时序报告界面 2、时序报告界面介绍 3、时序路径分析 三、总结 FPGA开发过程中&#xff0c;vivado和quartus等开发软件都会提供时序报告&#xff0c;以方便开发者判断自己的工程时序是否满足时序要求。 本文将详细介绍如何读懂…

VLAN基础知识3_VLAN间三层通信(VLANIF接口)

目录 1.VLAN间三层通信简介 2.VLAN间三层通信方式 3.VLANIF接口介绍 4.基于VLANIF接口VLAN间三层通信原理 5.VLAN间三层通信实验 5.1 常用配置命令 5.2 配置步骤 5.3 实验效果 1.VLAN间三层通信简介 VLAN间三层通信是指在VLAN网络中&#xff0c;不同VLAN之间进行IP通信…

python也可以使用克里金插值算法吗?

挪威大陆架的声学压缩慢度测量的空间变化 在处理地质和岩石物理数据时&#xff0c;我们通常希望了解这些数据在我们的地区是如何变化的。我们可以做到这一点的方法之一是对我们的实际测量值进行网格化&#xff0c;并推断这些值。 进行这种外推的一种特殊方法是克里金法&#xf…

三阶魔方有多少种状态

魔方有 3 种不同的方块&#xff0c;分别为角块&#xff08;8 个&#xff0c;每个角块有三种颜色&#xff09;&#xff0c;棱块&#xff08;12 个&#xff0c;每个棱块有两种颜色&#xff09;与中心块&#xff08;6 个&#xff0c;每个中心块有一种颜色&#xff09;。 魔方总共…

每天学一点知识有用吗

在探索如何学习的路上&#xff0c;我注意到了基于微习惯的学习方式&#xff0c;比如每天在用十分钟的时间练习下普通话&#xff0c;或者每天写500字的总结。 我简单回顾一下&#xff1a; 这种方法虽然颇受欢迎&#xff0c;但是它限制了你可以尝试的活动种类&#xff0c;有时候…

深度学习(24)——YOLO系列(4)

深度学习&#xff08;24&#xff09;——YOLO系列&#xff08;4&#xff09; 文章目录 深度学习&#xff08;24&#xff09;——YOLO系列&#xff08;4&#xff09;1. dataset准备&#xff08;1&#xff09;数据详解&#xff08;2&#xff09;dataset&#xff08;3&#xff09;…

广告数仓:全流程调度

系列文章目录 广告数仓&#xff1a;采集通道创建 广告数仓&#xff1a;数仓搭建 广告数仓&#xff1a;数仓搭建(二) 广告数仓&#xff1a;全流程调度 文章目录 系列文章目录前言一、ClickHouse安装1.修改环境2.安装依赖3.单机安装4.修改配置文件5.启动clickhouse6.创建需要的数…