当前位置: 首页 > news >正文

Python基础知识:整理10 异常相关知识

1 异常的捕获

1.1 基础写法

"""基本语法:try:可能发生错误的代码except:如果出现异常,将执行的代码"""
try:fr = open("D:/abc.txt", "r", encoding="utf-8")
except:print("出现异常了,文件未找到!将以w模式写入")fr = open("txt/abc.txt", "w", encoding="utf-8")fr.write("我是出现异常时的文件")

1.2 捕获指定的异常

try:1/0
except ZeroDivisionError as e:print(e)

 

1.3 捕获多个异常

"""捕获多个异常:语法格式:try:print(1/0)except (ZeroDivisionError,NameError) as e:    通过元组的形式存放多个异常类型print(e)  
"""
try:print(1/0)
except (ZeroDivisionError, NameError) as e:print(e)

1.4 捕获所有异常

"""捕获所有异常:方式一:基本语法:try:可能发生错误的代码except:如果出现异常,将执行的代码方式二: 略语法格式:try:print(1/0)except Exception as e:print(e)
"""
try:print(1 / 0)
except Exception as e:print(e)

 

1.5 异常else

"""异常else:当没有异常发生时,执行else中的代码  (可选的)
"""
try:print(1)
except Exception as e:print(e)
else:print("没有异常发生!")

1.6 异常finally

"""异常finally:无论是否发生异常,都会执行finally中的代码  (可选的)
"""
try:fr = open("txt/abc.txt", "r", encoding="utf-8")print(fr.readline())
except Exception as e:print(e)
else:print("没有异常发生!")
finally:fr.close()

2 异常的传递性

"""异常具有传递性例:当函数func1中抛出异常时,并且没有捕获处理这个异常的时候,异常会传递到函数func2中,如果func2中也没有捕获处理这个异常,那么异常会继续传递到main函数中,main函数就会捕获这个异常,这就是异常的传递性注意:当所有函数都没有捕获异常的时候,程序就会报错!
"""

当在主函数中没有捕获处理异常时,会报异常错误

处理后 

def func1():print("func1开始执行")num = 1/0print("func1执行完毕")def func2():print("func2开始执行")func1()print("func2执行完毕")def main():print("main开始执行")try:func2()except Exception as e:print(e)print("main执行完毕")main()

 

http://www.lryc.cn/news/278417.html

相关文章:

  • golang并发安全-select
  • 微软Visual Studio产品之Visual C++编程进阶——一维数组(画画版)
  • Moonbeam生态项目分析 — — 下一代DeFi协议HydraDX
  • Spark九:Spark调优之Shuffle调优
  • linux c多线程优先级
  • Redis在项目开发中的应用
  • mapper向mapper.xml传参中文时的乱码问题
  • 基于Docker官方php:7.1.33-fpm镜像构建支持67个常见模组的php7.1.33镜像
  • Type-C PD充电器受电端sink诱骗取电汇总:小家电应用5V9V12V15V20V28V
  • 禁用code server docker容器中的工作区信任提示
  • JSON格式插件-VUE
  • dubbo的springboot集成
  • 【人工智能】智能电网:未来能源的革命
  • 【AIGC】一组精美动物AI智能画法秘诀
  • JS 高频面试题
  • linux—多服务免密登录
  • 【MySQL】数据库之MHA高可用
  • ffmpeg 改变帧率,分辨率,时长等命令
  • 烟火检测AI边缘计算智能分析网关V4在安防项目中的应用及特点
  • 有效的回文
  • Electron快速上手
  • 华为“纯血”鸿蒙加速进场 高校、企业瞄准生态开发新风口
  • 抖音百科怎么创建?头条百科的规则和技巧
  • leetcode10-困于环中的机器人
  • Linux-shell简单学习
  • CMake入门教程【高级篇】qmake转cmake
  • c#图片作为鼠标光标
  • 微信小程序swiper实现层叠轮播图
  • 揭露欧拉骗局第二篇:逼近公式“Σ1/n=lnn+C”。
  • MYSQL的学习——单行函数详解