Python第二语言(六、Python异常)

目录

1. 捕获异常(try: except: else: finally:)

1.1 概念

1.2 基础语法(try: except:)

1.3 捕获异常(异常也有类型)

1.4 捕获多个异常(try:except(NameError,ZeroDivisionError))

1.5 异常else(没有异常执行的代码块)

1.6 异常finally(出现异常也会执行)

2. 异常的传递性


1. 捕获异常(try: except: else: finally:)

1.1 概念
  1. 整个程序因为一个BGU停止运行;
  2. 对BUG进行提醒,整个程序继续运行;
1.2 基础语法(try: except:)

(后面不加异常类型就代表捕获全部异常)

try:
    f = open('xxx', 'r')
except:
    print("文件打开错误")

1.3 捕获异常(异常也有类型)
  1. 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常;
  2. 一般try下方只放一行尝试执行的代码;
num = (1, 2)
try:
    print(num[3])  # 元组下标异常
except IndexError as e:
    print(e)

1.4 捕获多个异常(try:except(NameError,ZeroDivisionError))
try:
    print(1 / 0)
except (NameError, ZeroDivisionError):
    print("ZeroDivisionError错误...")

1.5 异常else(没有异常执行的代码块)
try:
    print(1)
except Exception as e:
    print(e)
else:
    print("无异常执行")

1.6 异常finally(出现异常也会执行)
f = None
try:
    f = open('xxx', 'r')
except Exception as e:
    print(e)
else:
    print("无异常执行")
finally:
    print("有异常也执行!")
    f.close()

2. 异常的传递性

(调用函数的时候,如果出现了异常,可以在最终调用的函数中处理异常)

注意:当所有函数都没有捕获异常的适合,程序会报错;

def func01():
    print("func01")
    num = 1 / 0
    print("func01结束")


def func02():
    print("func02")
    func01()
    print("func02结束")


def func03():
    print("func03")
    try:
        func02()
    except Exception as e:
        print(e)
    print("func03结束")


func03()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UI学习的案例——照片墙

照片墙案例 在实现照片墙案例之前先讲一下userInteractionEnable这个属性。 首先这个属性属于UIView,这个属性是bool类型,如果为YES的话,这个UIView会接受有关touch和keyboard的相关操作,然后UIView就可以通过相应的一些方法来处…

C语言详解(联合和枚举)

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥个人主页:奋斗的小羊 💥所属专栏:C语言 🚀本系列文章为个人学习笔记,在这里撰写…

多粒度特征融合(细粒度图像分类)

多粒度特征融合(细粒度图像分类) 摘要Abstract1. 多粒度特征融合1.1 文献摘要1.2 研究背景1.3 创新点1.4 模型方法1.4.1 Swin-Transformer1.4.2 多粒度特征融合模块1.4.3 自注意力1.4.4 通道注意力1.4.5 图卷积网络1.4.6 基于Vision-Transformer的两阶段…

SpringBoot集成缓存功能

1. 缓存规范 Java Caching定义了五个核心接口,分别是:CachingProvider、CacheManager、Cache、Entry和Expiry。 CachingProvider:定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。CacheM…

玉米粒计数检测数据集VOC+YOLO格式107张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):107 标注数量(xml文件个数):107 标注数量(txt文件个数):107 标注类别…

预备知识----技术架构演进之路

单机架构 简介:应用服务和数据库服务共用一台服务器。 出现原因:出现在互联网早期,访问量较小,单机足以满足需求。 架构工作原理:通过应用(划分了多个模块)和数据库在单个服务器上写作完成业务…

进阶篇01——存储引擎

MySQL体系结构 存储引擎 引擎有多种类型,MySQL支持多种存储引擎,默认的存储引擎为innodb。不同的存储引擎有不同的特点,适用不同的场景。 innodb存储引擎 简介 innodb的逻辑存储结构 MYISAM存储引擎 memory存储引擎 三种引擎特点对比&…

《python程序语言设计》2018版第5章第48题以0,0为圆心 绘制10个左右的同心圆

在0,0点处绘制10个圆。 其实这个题先要记住python不会0,0为原点进行绘画。 它是按半径来画,所以我们要先把turtle这个小画笔送到它应该去的起点。(我经常有这样的错觉,每次都是这样想办法把自己拉回来) 我…

【目标跟踪网络训练 Market-1501 数据集】DeepSort 训练自己的跟踪网络模型

前言 Deepsort之所以可以大量避免IDSwitch,是因为Deepsort算法中特征提取网络可以将目标检测框中的特征提取出来并保存,在目标被遮挡后又从新出现后,利用前后的特征对比可以将遮挡的后又出现的目标和遮挡之前的追踪的目标重新找到&#xff0…

STM32 proteus + STM32Cubemx仿真教程(第二课按键教程)

文章目录 前言一、STM32按键的原理二、STM32Cubemx创建工程三、proteus仿真电路图四、程序代码编写4.1函数介绍4.2使用按键点亮LED灯 总结 前言 本篇文章开始带大家学习如何使用proteus和STM32Cubemx来完成STM32的学习,第二节课我们先来学习按键的用法。 proteus使…

景区ar互动大屏游戏化体验提升营销力度

从20世纪60年代的初步构想,到如今全球范围内无数企业的竞相投入,AR增强现实技术已成为引领科技潮流的重要力量。而在这一浪潮中,中国的AR公司正以其独特的魅力和创新力,崭露头角。 中国的AR市场正在迎来前所未有的发展机遇。如今&…

qmt量化交易策略小白学习笔记第16期【qmt编程之获取北向南向资金(沪港通,深港通和港股通)】

qmt编程之获取北向南向资金 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 北向南向资金(沪港通,深港通和港股通) #北向南向资金交易日历 获取交易日列表…

UltraEditUEStudio软件最新版下载及详细安装教程

UEStudio简介: UEStudio建立在上文本编辑器UltraEdit的功能基础上,并为团队和开发人员提供了其他功能,例如深度Git集成。您可以直接在UEStudio中克隆,签出,更新,提交,推入/拉入等操作&#xff…

SpringBoot整合钉钉实现消息推送

前言 钉钉作为一款企业级通讯工具,具有广泛的应用场景,包括但不限于团队协作、任务提醒、工作汇报等。 通过Spring Boot应用程序整合钉钉实现消息推送,我们可以实现以下功能: 实时向指定用户或群组发送消息通知。自定义消息内容…

知识图谱的应用---智慧交通

文章目录 智慧交通典型应用 智慧交通 现代城市发展过程中的一大问题是交通拥堵,为解决城市发展中的这一顽疾,有必要以现代化高科技技术为支撑,建造城市中的智慧交通系统,从源头入手缓解城市拥挤问题。当前,“智慧交通”…

如何获取当前dll或exe模块所在路径?

有时我们需要在当前运行的dll或exe模块中去动态加载当前模块同路径中的另一个库,或者启动当前模块同路径中的另一个exe程序,一般需要获取当前模块的路径,然后去构造同路径下目标模块的绝对路径,然后通过该绝对路径去加载或启动该目…

java自学阶段二:JavaWeb开发50(Spring和Springboot学习)

Spring、Springboot基础知识学习 目录 学习目标Spring基础概念IOC控制反转DI依赖注入事务管理AOP面向切面编程Spring案例说明(Postman使用、Restful开发规范、lombok、Restful、nginx了解) 一:学习目标: 1)了解Sprin…

海洋日特别活动—深海来客——可燃冰

深海中有一种神奇的物质,似冰又不是冰。 别看它其貌不扬,但本领不小,遇火即燃,能量巨大,可谓是能源家族的新宠。它就是被国务院正式批准列为我国第173个矿种的“可燃冰”! 可燃冰到底是个啥?它…

C++ | Leetcode C++题解之第133题克隆图

题目&#xff1a; 题解&#xff1a; class Solution { public:Node* cloneGraph(Node* node) {if (node nullptr) {return node;}unordered_map<Node*, Node*> visited;// 将题目给定的节点添加到队列queue<Node*> Q;Q.push(node);// 克隆第一个节点并存储到哈希…

Java Web学习笔记31——Maven介绍

Maven&#xff1a;Java项目的构建工具。 Maven&#xff1a; Maven是Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建Java项目的工具。 Apache软件基金会&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受欢迎的开源软件基金会&#xff0c;也是一个专…