python基础语法八-异常
书接上回:
python基础语法一-基本数据类型
python基础语法二-多维数据类型
python基础语法三-类
python基础语法四-数据可视化
python基础语法五-函数
python基础语法六-正则匹配
python基础语法七-openpyxl操作excel
1. 异常简介
(1)异常:遇到异常可以继续正常执行,不会终止
(2)python中的异常继承层次
BaseException
|
-------------------------------------------------------------------------------
| | | |
KeyBoardInterrupt Exception SystemExit GeneratorExit
|
NameError/ValueError等
2. try…except结构
(1)格式:
try:
可能引发异常的语句块
except[ BaseException [as e]]: # e:异常对象
异常处理语句块
例2:
import traceback
try:
print('1')
a=3/0
print('2') # skip
except:
print('error')
3. try 多个except结构
(1)格式:
try:
可能引发异常的语句块
except Exception1:
异常1处理语句块
except Exception2:
异常2处理语句块
...
except BaseException [as e]:
异常处理语句块
例3:
try:
a = float(input('please input the dividend:'))
b = float(input('please input the divisor:'))
c = a/b
print('%d / %d = %d' % (a, b, c))
except ZeroDivisionError:
print('divisor shouldn\'t be zero')
except ValueError:
print('string shouldn\'t be input')
except BaseException as e:
print(e)
4. try...except(可以多个)...else结构
(1)try里是可能有异常的语句块,如果有异常则进入except,没有异常则进入else
例4:
try:
a = float(input('please input the dividend:'))
b = float(input('please input the divisor:'))
c = a/b
except ZeroDivisionError:
print('divisor shouldn\'t be zero')
except ValueError:
print('string shouldn\'t be input')
except BaseException as e:
print(e)
else:
print('%d / %d = %d' % (a, b, c))
5. try...except...finally结构
(1)说明:try里是可能有异常的语句块,无论是否有异常,一定会进入finally。
(2)典型应用:处理文件时,最后一定要关闭该文件
例5:
try:
a = float(input('please input the dividend:'))
b = float(input('please input the divisor:'))
c = a/b
except ZeroDivisionError:
print('divisor shouldn\'t be zero')
except ValueError:
print('string shouldn\'t be input')
except BaseException as e:
print(e)
else:
print('%d / %d = %d' % (a, b, c))
finally:
print('end !')
6. 常见异常
(1)ZeroDivisionError :除0异常
(2)ValueError :字符串不能当做数字做运算
(2)NameError :访问一个没有声明的变量
(3)SyntaxError : 语法异常
(4)IndexError : 数组越界
(5)TypeError : 类型异常, 例如数字和字符串不能相加
(6)KeyError : 字典没有这个key
(7)AttributeError :对象不存在这个属性
7. traceback
(1)作用:打印详细的错误信息,并且可以把错误信息存储到日志文件中
例7:
try:
a = 1/0
except BaseException as e:
with open(r"C:\Users\qinglan.he\Desktop\traceback.txt","a") as f:
traceback.print_exc(file=f)
8. 自定义异常
例8:
class MyError(Exception): # 继承Exception
def __init__(self, age):
Exception.__init__(self)
self.age = age
def print_error(self):
print('age arror! age shouldn\'t be ', self.age)
if __name__ == '__main__':
age = 200
if age > 150:
my_error = MyError(age)
my_error.print_error()
相关文章:
python基础语法八-异常
书接上回: python基础语法一-基本数据类型 python基础语法二-多维数据类型 python基础语法三-类 python基础语法四-数据可视化 python基础语法五-函数 python基础语法六-正则匹配 python基础语法七-openpyxl操作excel 1. 异常简介 (1)异常:遇到…...
【堆的应用--C语言版】
前面一节我们都已将堆的结构(顺序存储)已经实现,对树的相关概念以及知识做了一定的了解。其中我们在实现删除操作和插入操作的时候,我们还同时实现了建大堆(小堆)的向上(下)调整算法…...
【微信小程序】搭建项目步骤 + 引入Tdesign UI
目录 创建1个空文件夹,选择下图基础模板 开启/支持sass 创建公共style文件并引入 引入Tdesign UI: 1. 初始化: 2. 安装后,开发工具进行构建: 3. 修改 app.json 4. 使用 5. 自定义主题色 创建1个空文件夹,选择下…...
android系统源码12 修改默认桌面壁纸--SRO方式
1、aosp12修改默认桌面壁纸 代码路径 :frameworks\base\core\res\res\drawable-nodpi 替换成自己的图片即可,不过需要覆盖所有目录下的图片。 由于是静态修改,则需要make一下,重新编译。 2、方法二Overlay方式 由于上述方法有…...
Echarts可视化
echarts是一个基于javascripts的开源可视化图表库 画图步骤: 1.引入echarts.js文件 <script src" https://cdn.jsdelivr.net/npm/echarts5.5.1/dist/echarts.min.js"></script> 也可将文件下载到本地通过src引入。 2. 准备一个呈现图表的…...
验证linux gpu是否可用
通过torch验证 import torchprint(torch.__version__) # 查看torch当前版本号 print(torch.version.cuda) # 编译当前版本的torch使用的cuda版本号 print(torch.cuda.is_available()) # 查看当前cuda是否可用于当前版本的Torch,如果输出True,则表示可…...
JavaScript( 简介)
目录 含义 实例 js代码位置 1 外部引入js文件 2 在 HTML 中,JavaScript 代码必须位于 标签之间。 小结 含义 js是一门脚本语言,能够改变HTML内容 实例 getElementById() 是多个 JavaScript HTML 方法之一。 本例使用该方法来“查找” id"d…...
Linux中的编译器gcc/g++
目录 一、gcc与g的区别 1.gcc编译器使用 2.g编译器使用 二、gcc/g编译器编译源文件过程 1.预处理 2.编译 3.汇编 4.链接 三、静态库和动态库 1.库中的头文件作用 2.静态库 3.动态库 四、gcc编译器的一些选项命令 一、gcc与g的区别 gcc用于编译C语言代码ÿ…...
RK3568安装部署Docker容器
设置华为镜像源 sudo sed -i s/huaweicloud.com/ustc.edu.cn/g /etc/apt/sources.list更新索引 rootok3568:/home/forlinx# sudo apt-get update Hit:1 http://ports.ubuntu.com/ubuntu-ports focal InRelease Hit:2 http://ports.ubuntu.com/ubuntu-ports focal-updates InR…...
Ubuntu 常用指令和作用解析
Ubuntu 常用指令和作用解析 Ubuntu 是一种常见的 Linux 发行版,它利用了 Unix 的力量和开源软件的精神。掌握常用指令可以提高我们在使用 Ubuntu 时的效率。本文将介绍一些常见的指令及其用途。 目录 更新与安装软件文件与目录操作系统信息与资源监控用户与权限管…...
2024国赛数学建模C题完整论文:农作物的种植策略
农作物种植策略优化的数学建模研究(完整论文,持续更新,大家持续关注,更新见文末名片 ) 摘要 在本文中,建立了基于整数规划、动态规划、马尔科夫决策过程、不确定性建模、多目标优化、相关性分析、蒙特卡洛…...
【语音告警】博灵智能语音报警灯JavaScript循环播报场景实例-语音报警灯|声光报警器|网络信号灯
功能说明 本文将以JavaScript代码为实例,讲解如何通过JavaScript代码调用博灵语音通知终端 A4实现声光语音告警。主要博灵语音通知终端如何实现无线循环播报或者周期播报的功能。 本代码实现HTTP接口的声光语音播报,并指定循环次数、播报内容。由于通知…...
指针与函数(三)
三 .指向函数的指针 函数和数组一样,经系统编译后,其目标代码在内存中连续存放,其名字本身就是一个地址,是函数的入口地址。C语言中,指针可以指向变量,也可以指向函数。 指问函数的指针的定义格式为 类型名(*指针变量名)参数表 其中参数表为函数指针所…...
锐捷网络2025届校园招聘正式启动,【NTA6dni】!
锐捷网络2025届校园招聘正式启动,内推码[NTA6dni]。 原文链接点这 投递链接点这 祝大家面试顺利,offer多多~ 有问题大家可以评论,互相交流~...
共享内存喜欢沙县小吃
旭日新摊子好耶! 系统从0开始搭建过通信方案,本地通信方案的代码:System V IPC 里面有共享内存、消息队列、信号量 共享内存 原理 两个进程有自己的内存区域划分,共享内存被创建出的时候是归属操作系统的,还是通过…...
五、Build构建配置:jar包换名、自行定义编译规则
(1)jar包换名:finalName (2)自行定义编译规则(通常不用) Maven约定的规则就是java目录下写java代码,resources目录下写配置文件。 遵循规则,Maven会帮忙做编译。 如若…...
Html、Css3动画效果
文章目录 第九章 动画9.1 transform动画9.2 transition过渡动画9.3 定义动画 第九章 动画 9.1 transform动画 transform 2D变形 translate():平移函数,基于X、Y坐标重新定位元素的位置 scale():缩放函数,可以使任意元素对象尺…...
【AIStarter:AI绘画、设计、对话】零基础入门:Llama 3.1 + 千问2快速部署
对于希望在本地环境中运行先进语言模型的用户来说,Llama 3.1和千问2是非常不错的选择。本文将详细介绍如何在本地部署这两个模型,让你能够快速开始使用。 前期准备 确保你的计算机具备足够的存储空间和计算能力。安装Python环境以及必要的库࿰…...
多机编队—(1)ubuntu 配置Fast_Planner
文章目录 前言一、Could not find package ...二、使用error: no match for ‘operator’...总结 前言 最近想要做有轨迹引导的多机器人编队,打算采用分布式的编队架构,实时的给每个机器人规划出目标位置,然后通过Fast_Planner生成避障路径&…...
【数学建模经验贴】国赛拿到赛题后,该如何选题?
2024“高教社杯”全国大学生数学建模竞赛即将开赛。这可能是很多同学第一次参加国赛,甚至是第一次参加数学建模比赛。 那么赛题的公布也就意味着比赛的开始,也将是我们所要面对的第一个问题——选题。在国赛来临的前夕,C君想和大家聊一聊容易…...
GESP到底有没有必要考?说说我的真实看法
“老师,GESP要不要考?考了能免考CSP初赛,值不值?” 每次信奥赛家长群里一聊到这个,就会吵起来。 有人说"CCF官方的,含金量高,必须考"。也有人说"证书没用,浪费钱浪费…...
单细胞测序技术原理与应用进展
一、技术发展背景与核心价值单细胞测序技术是近年来生命科学领域最重要的突破性方法之一。与传统群体细胞测序不同,该技术能够在单个细胞分辨率上解析基因组、转录组及表观遗传组的异质性。这种精细化的分析能力,使得研究者得以揭示细胞发育过程中的动态…...
别再只盯着LSB了:用Python实战对比空间域与DCT/DWT变换域水印的鲁棒性
别再只盯着LSB了:用Python实战对比空间域与DCT/DWT变换域水印的鲁棒性 数字水印技术作为信息隐藏领域的重要分支,其核心挑战始终是如何在不可见性与抗攻击能力之间找到最佳平衡点。传统教材和理论课程往往将LSB(最低有效位)算法作…...
TX12 + ExpressLRS 915MHz RC链路优化与EdgeTX固件升级实战
1. 为什么选择TX12搭配ExpressLRS 915MHz系统 玩无人机的朋友都知道,遥控链路就像风筝线,距离和稳定性直接决定飞行体验。我之前用2.4GHz的RadioLink套装,飞到500米就开始心跳加速——信号时断时续,每次返航都像在赌运气。换成TX1…...
为什么选择Clasp?10个理由让你彻底爱上本地开发Apps Script [特殊字符]
为什么选择Clasp?10个理由让你彻底爱上本地开发Apps Script 🚀 【免费下载链接】clasp 🔗 Command Line Apps Script Projects 项目地址: https://gitcode.com/gh_mirrors/clasp/clasp Clasp(Command Line Apps Script Pro…...
如何通过GitHub配置Resume简历:无需代码的终极解决方案
如何通过GitHub配置Resume简历:无需代码的终极解决方案 【免费下载链接】resume 🚀 在线简历生成器 项目地址: https://gitcode.com/gh_mirrors/resu/resume Resume是一款功能强大的在线简历生成器,让你无需编写代码即可轻松创建专业简…...
10. Doris 系列第10篇:数据查询全攻略|Join/子查询/窗口函数,从基础到高级实战
适合人群:大数据开发、Doris查询调优工程师、数仓分析师、BI工程师核心价值:吃透Doris 2.x数据查询核心能力,掌握Join算法选型、子查询优化、多维聚合、窗口函数实战,解决查询慢、资源浪费、语法报错等问题系列说明:本…...
2025届最火的十大降AI率方案实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下,关于AI生成内容的检测变得越发严格起来,于是降AI工具就相应地…...
AI Memory 全景解析:让 Agent 真正“记住”你
AI Memory 全景解析:让 Agent 真正"记住"你 你有没有遇到过这种场景:明明昨天告诉 AI 助手你喜欢简洁的代码风格,今天它又开始写冗长的注释;或者你费心纠正了一个错误,下次对话它照犯不误。这就是 AI 没有记…...
Steam API集成:构建智能游戏生态的完整PHP解决方案
Steam API集成:构建智能游戏生态的完整PHP解决方案 【免费下载链接】Steam A composer package to make use of the steam web api. 项目地址: https://gitcode.com/gh_mirrors/stea/Steam 在当今游戏开发和社区管理领域,与Steam平台的深度集成已…...
