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,一经查实,立即删除!

相关文章

【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 配置路由重…

基于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不存在为成本类型、成本组和法人主…

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…

自定义时间选择器

自定义时间选择器 文章目录 自定义时间选择器第一章 效果演示第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编辑界面的右上角部分,竖排…

Linux 高级管理,安装MySQL数据库

1.准备工作 (1)为了避免发生端口冲突,程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有 使用以RPM方式安装的mysql-server、mysql软件包,否则建议将其卸载。 [rootnode01 ~]# rpm -q mysql-server…

FastAdmin后台安装出现2054错误的解决办法

用Navicat修改密码验证方式。MySQL Workbench的Server菜单中的Users and Privileges菜单中似乎不支持此项修改。 修改完毕以后也许会报错: Access denied for user ‘root‘‘localhost‘ (using password: YES) 用以下命令无密进入mysql。 C:\Program Files\MySQ…

小米路由器4A千兆版如何刷OpenWRT并使用固定地址远程访问

文章目录 前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理界面4.4 创建公网地址 5. 固定公网地址访问 前言 OpenWRT是一个高度模块化、高度自…

Ps:形状工具 - 描边选项

在形状工具的工具选项栏或“属性”面板中,单击“设置形状描边类型” Set shape stroke type菜单图标可打开“描边选项” Stroke Options面板。 描边预设 Stroke Type 默认列出了实线、虚线和点线三种类型的描边,单击可应用。 自己创建并存储的描边类型&a…

CTF竞赛密码学题目解析

CTF(Capture The Flag)竞赛是一个有趣的挑战。密码学是CTF竞赛中的核心元素之一,通常涉及解密、破译密码、理解加密算法等技能。以下是30个题目及答案,新入行的可以看看鸭。 题目及答案 1. Caesar Cipher 描述:给出一…

前端传递参数,后端如何接收

目录 简单参数 传递方式 获取方式一 获取方式二 相关注解 实体参数 数组集合参数 传递方式 相关注解 获取方式一 获取方式二 日期参数 传递方式 相关注解 获取方式 json参数 传递方式 相关注解 获取方式 路径参数 传递方式 相关注解 获取方式 传递多个…

时序预测 | Python实现CNN电力需求预测

时序预测 | Python实现CNN电力需求预测 目录 时序预测 | Python实现CNN电力需求预测预测效果基本描述程序设计参考资料预测效果 基本描述 该数据集因其每小时的用电量数据以及 TSO 对消耗和定价的相应预测而值得注意,从而可以将预期预测与当前最先进的行业预测进行比较。使用该…

[论文笔记] chatgpt系列 SparseMOE—GPT4的MOE结构

SparseMOE: 稀疏激活的MOE Swtich MOE,所有token要在K个专家网络中,选择一个专家网络。 显存增加。 Experts Choice:路由MOE:​​​​​​​ 由专家选择token。这样不同的专家都选择到某个token,也可以不选择该token。 由于FFN层的时间复杂度和attention层不同,FFN层的时…

[Verilog] Verilog 简介

主页: 元存储的博客 全文 2100 字。 文章目录 前言1. Verilog 简介2. 主要特性3. 应用领域总结 前言 Verilog HDL(简称 Verilog )是一种硬件描述语言,用于数字电路的系统设计。可对算法级、门级、开关级等多种抽象设计层次进行建…