Python基础06-异常

零、文章目录

Python基础06-异常

1、异常的基本概念

(1)异常是什么
  • 当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"。
(2)异常演示
  • 例如:除数为0异常(数学中,除法运算除数是不能为0的)。
# 1、除数为0异常(数学中,除法运算除数是不能为0的)
print(10/0)

image-20231120195642967

2、异常的捕获方法

(1)捕获常规异常

基本语法:

try:可能发生错误的代码
except:如果出现异常执行的代码
'''
在Python中,我们可以通过try...except捕获异常
try:可能出现异常的代码
except:如果try语句中的代码出现了异常,则立即执行except缩进代码优势:提高程序的健壮性
'''
num = int(input('请输入要进行除法运算的数字:'))
try:result = 10 / numprint(result)
except:print('已经捕获到异常,执行B方案!')
(2)捕获异常并输出错误信息
  • 无论我们在except后面定义多少个异常类型,实际应用中,也可能会出现无法捕获的未知异常。这个时候,我们考虑使用Exception异常类型捕获可能遇到的所有未知异常:
'''
在实际工作中,不仅需要对异常进行捕获,还需要把异常信息写入到日志文件(具体是什么错误找到)
try:可能出现异常的代码
except Exception as e:print(e)  # 代表出错的异常信息 => 实际工作以后,写入日志文件中
'''
try:f = open('python.txt', 'r')
except Exception as e:print(f'-- 日志: {e} --')print('找到错误的同时,执行B方案!')
(3)捕获指定异常
  • 基本语法:如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。
try:print(name)
except NameError:print('name变量名称未定义错误')
(4)捕获多个异常
try:print(1/0)
except (NameError, ZeroDivisionError):print('ZeroDivision错误...')
(5)异常捕获中else语句
'''
try:可能出现异常的代码
except:捕获异常
else:当try语句中的代码没有出现异常,则执行else语句中的代码,反之,则不执行
'''
try:f = open('python.txt', 'r')
except:f = open('python.txt', 'w')
else:content = f.read()print(content)
(6)异常捕获中的finally语句
'''
其实完整的异常捕获语句:
try:可能出现异常的代码
except Exception as e:如果出现异常,则执行的代码
else:如果try语句中的代码没有出现异常,则执行else中的代码
finally:特别适合实现一些收尾的工作,因为它是无论是否异常都会执行的代码 => f.close()
'''
try:f = open('python.txt', 'r')
except:f = open('python.txt', 'w')
else:content = f.read()print(content)
finally:f.close()

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

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

相关文章

linux中的网络知识

网络 认识基本网络网络划分计算机网络分为LAN、MAN、WAN公网ip和私网ip 传输介质单位换算客户端和服务端 OSI模型osi七层模型TCP/IP:传输控制协议簇HTTP协议简介UDP协议介绍物理地址:mac地址,全球唯一,mac由6段16进制数组成,每段有…

linux系统解决huggingface下载缓存不够的问题

文章目录 问题解决方法存在的问题 问题 huggingface会自动把模型保存在下面的路径: ~\.cache\huggingface\hub但是服务器的内存不够,所以经常因为空间问题下载暂停,比较麻烦。 提供一种亲测有效的方式。 解决方法 1.找一个比较大的空间,复…

Linux学习教程(第十二章 Linux系统管理)三

第十二章 Linux系统管理(进程管理、工作管理和系统定时任务)(三) 十九、Linux 定时执行任务(at命令) Linux at命令详解:定时执行任务 要想使用 at 命令,读者需提前安装好 at 软件…

【NSX-T】9. 搭建NSX-T环境 —— 使用 OSPF 配置 Tier-0 网关

目录 Lab 说明9.1 创建上行链路网段9.2 创建 Tier-0 网关(1)设置 Interface 信息(2)禁用 BGP(3)启用和配置 OSPF(4)查看 OSPF Neighbors(5)为 OSPF 配置路由重…

Yaml语法解析

YAML是一个类似 XML、JSON 的标记性语言。它强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义比较简单,号称"一种人性化的数据格式语言"。 YAML的语法比较简单,主要有下面几个: 1、大小写敏感 2、使用缩进…

【Hadoop】HDFS简介——是什么/优缺点/适用场景

HDFS是什么HDFS的优点/特性HDFS适用场景HDFS的缺点与不足HDFS 不适用场景 HDFS是什么 源自Google的GFS论文 Google于2003年10月发表HDFS是GFS的一个克隆版 HDFS(Hadoop Distributed File System) 是易于扩展的分布式文件系统。易扩展意味着如果文件系统大小不够可以增加节点运…

ElasticSearch之Node query cache settings

对于filter查询,ElasticSearch提供了缓存查询结果的特性,当缓存中存在满足查询条件要求的数据时,直接从缓存中提取查询结果。 对于ElasticSearch节点,该节点上的所有shard共享同一个缓存区域。 ElasticSearch基于LRU算法来管理缓存…

基于BWA,Bowtie2,samtools、checkm等工具计算宏基因组学序列分析中Contigs与Genes在样品中的丰度,多种计算方式和脚本对比

计算contigs和genes相对丰度可以提供有关微生物群落结构和功能的信息。以下是计算这两个指标的意义: 1. Contigs的相对丰度:contigs是利用基因组测序技术获得的碎片序列,通过计算contigs的相对丰度可以了解微生物群落中不同菌种的相对丰度。…

使用Audition录制电脑内部声音

在电脑上播放的媒体文件,包括视频和声音,很多是可以播放却无法保存的。例如一些网页播放的视频,或者在线播放的音乐。 视频的话,可以使用工具来截图,抓取GIF或录屏。 声音的话,也可以使用工具进行录制。这里…

Oracle EBS PAC“定期成本分配处理程序”报错:30004不存在为成本类型、成本组和法人主体定义的帐户

Oracle EBS版本: RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 问题症状: 中文环境: 30004不存在为成本类型、成本组和法人主体定义的帐户。 CSTPALPC.dyn_proc_call : Error Calling Package 30004不存在为成本类型、成本组和法人主…

外部函数接口FFI

在某些场景下,你的RUST代码可能需要与另外一种语言编写的代码进行交互。RUST为此提供了extern关键字来简化创建和使用外部函数接口(Foreign Function Interface,FFI)。FFI是编程语言定义函数的一种方式,它允许其它编程…

MATLAB算法实战应用案例精讲-【图像处理】缺陷检测(补充篇)

目录 前言 疵点缺陷识别 1边缘增强 1.1经典算子 1.2坯布疵点边缘检测

c++ websocket 协议分析与实现

前言 网上有很多第三方库,nopoll,uwebsockets,libwebsockets,都喜欢回调或太复杂,个人只需要在后端用,所以手动写个; 1:环境 ubuntu18 g(支持c11即可) 第三方库:jsoncpp,openssl 2:安装 jsoncpp 读取json 配置文件 用 自动安装 网…

最新50万字312道Java经典面试题52道场景题总结(附答案PDF)

最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题;花了3个月的时间将市面上所有的面试题整理总结成了一份50万字的300道Java高频面…

国际教育-S1试讲讲稿

习题题目 答案 用到的概念: 概率之和等于1 E ( x ) ∑ i 1 4 x i P i E(x)\sum_{i1}^4x_iP_i E(x)∑i14​xi​Pi​ E ( x 2 ) ∑ i 1 4 x i 2 P i E(x^2)\sum_{i1}^4x_i^2P_i E(x2)∑i14​xi2​Pi​ V a r ( X ) Var(X) Var(X) ∑ i 1 4 ( x i − x ‾ ) 2…

【机器学习】5分钟掌握机器学习算法线上部署方法

5分钟掌握机器学习算法线上部署方法 1. 三种情况2. 如何转换PMML,并封装PMML2.1 什么是PMML2.2 PMML的使用方法范例3. 各个算法工具的工程实践4. 只用Linux的Shell来调度模型的实现方法5. 注意事项参考资料本文介绍业务模型的上线流程。首先在训练模型的工具上,一般三个模型训…

自定义时间选择器

自定义时间选择器 文章目录 自定义时间选择器第一章 效果演示第01节 效果图第02节 主要文件 第二章 案例代码第01节 核心文件 WheelPicker第02节 实体类 WheelBean第03节 接口类 IWheelPicker第04节 原子时间类 DateTimePickerView第05节 原子时间类 PickerYear第06节 原子时间…

nginx的location与rewrite

目录 一.location 二.rewrite rewrite跳转实现: 语法格式:rewrite [flag]; flag标记说明: 三.基于域名跳转 四.基于ip跳转 五.基于旧域名跳转到新域名后面加目录 六.基于参数匹配的跳转 可以同过全局变量来匹配: 基于目…

linux常见错误

1.E45: ‘readonly‘ option is set (add ! to override) 首先使用以下命令从Vim编辑器中出来::qa!(强制退出) 接下来,使用sudo vim filename和更高版本::wq 2.Bash script – "/bin/bash^M: bad interpreter: No such file or direc…

鸿蒙4.0开发 - DevEco Studio如何使用Previewer窗口预览器报错

DevEco Studio预览器概况在HarmonyOS应用开发过程中,通过使用预览器,可以查看应用的UI效果,方便开发者实时查看应用的运行效果,随时调整代码。 1.正常启动 打开预览器的位置在DevEco Studio编辑界面的右上角部分,竖排…