Python学习笔记(十六)————异常相关

news/2025/3/5 1:02:11/

目录

(1)异常概念

(2)异常的捕获

①异常捕获的原因

②捕获常规异常

 ③捕获指定异常

 ④捕获多个异常

⑤ 捕获异常并输出描述信息

 ⑥捕获所有异常

 ⑦异常else

 ⑧异常的finally

 (3)异常的传递


(1)异常概念

当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的异常, 也就是我们常说的BUG

(2)异常的捕获

①异常捕获的原因

当我们的程序遇到了BUG, 那么接下来有两种情况:

       ① 整个程序因为一个BUG停止运行

       ② 对BUG进行提醒, 整个程序继续运行

在真实工作中, 我们肯定不能因为一个小的BUG就让整个程序全部奔溃, 也就是我们希望的是达到② 的这种情况

那这里我们就需要使用到捕获异常

捕获异常的作用在于:提前假设某处会出现异常,做好提前准备,当真的出现异常的时候,可以有后续手段。

捕获常规异常

基本语法:

例如需求:尝试以`r`模式打开文件,如果文件不存在,则以`w`方式打开。

 ③捕获指定异常

基本语法:

 注意:

① 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。

② 一般try下方只放一行尝试执行的代码。

 ④捕获多个异常

当捕获多个异常时,可以把要捕获的异常类型的名字,放到except 后,并使用元组的方式进行书写。

 执行结果:

⑤ 捕获异常并输出描述信息

基本语法:

执行结果:

 ⑥捕获所有异常

基本语法:

执行结果:

 ⑦异常else

else表示的是如果没有异常要执行的代码。

执行结果:

 ⑧异常的finally

finally表示的是无论是否异常都要执行的代码,例如关闭文件。

 (3)异常的传递

异常是具有传递性的

函数func01中发生异常, 并且没有捕获处理这个异常的时候, 异常

会传递到函数func02,func02也没有捕获处理这个异常的时候

main函数会捕获这个异常,  这就是异常的传递性.

提示:  当所有函数都没有捕获异常的时候, 程序就会报错

 ​

利用异常具有传递性的特点, 当我们想要保证程序不会因为异常崩溃的时候,

就可以在main函数中设置异常捕获, 由于无论在整个程序哪里发生异常, 最终都

会传递到main函数, 这样就可以确保所有的异常都会被捕获

 


http://www.ppmy.cn/news/771237.html

相关文章

【tomcat】应用服务

准备环境 三台虚拟机 192.168.1.120 192.168.1.122 192.168.1.131 三台虚拟机关闭防火墙 、查看光盘 、检测yun创库 查看JDK是否安装 [rootlocalhost ~]# java -version openjdk version "1.8.0_161" //这是系统自带的rpm方式安装 OpenJDK Runtime Environment…

.net Core Winform 增加NLog

nlog.config <?xml version"1.0" encoding"utf-8" ?> <nlog xmlns"http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" ><targets async"true" maxarch…

【Linux】-Linux基本指令

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【Linux】 分享: 屋檐如悬崖 风铃如沧海 我等燕归来 时间被安排 演一场意外 你悄然走开 故事在城外 浓雾散不开 看不清对白 你听不出来 风声不存在 是我在感慨 梦想来是谁在窗台 …

【前端面试总结】vue、react、webpack、babel面试总结

查看原文 Vue 基本使用 v-html 原始html内容&#xff0c;有xss防线 computed 有缓存&#xff0c;data不变不会重新计算 watch 监听引用类型&#xff0c;使用下面方法深度监听&#xff0c;但是拿不到oldVal 1 2 3 4 5 6 7 8 watch:{ info: { handler (oldVal, val) { console.…

床垫的检测标准有哪些?

床垫检测范围&#xff1a; 乳胶床垫&#xff0c;睡眠床垫&#xff0c;特殊材质床垫&#xff0c;各种材质床垫&#xff0c;儿童床垫等。 床垫检测标准&#xff1a; GB/T 26706-2011软体家具 棕纤维弹性床垫 GB/T 34441-2017软体家具 床垫燃烧性能的评价 GB/T 26706-2011 软…

WebDAV之π-Disk派盘+WPS

WPS 支持WebDAV方式连接葫芦儿派盘。 WPS Office是一款常用的办公软件&#xff0c;可以方便地编辑、查看和分享文字文档、电子表格和演示文稿等文件。而派盘则是一款本地私有云产品&#xff0c;可以将您的本地硬盘变成云存储空间&#xff0c;提供高效的文件存储、分享、同步和…

MacBook 设置HEIC动态壁纸

话不多说 首先我们在此网站下载 壁纸 Galleryhttps://www.dynamicwallpaper.club/gallery 需要翻墙 下载完成以后 打开电脑设置 上双击桌面图片&#xff0c;会弹出访达窗口 然后点击箭头所指的文件夹 然后双击打开 打开以后 找到文件夹 Desktop Pictures 没有的话自己…

Moe Wallpaper 桌面动态壁纸设置器V2.3

感谢大家的支持&#xff0c;本程序从v2.3版本更名为Moe Wallpaper含义有两个 1.萌壁纸 2.摸鱼壁纸&#xff08;谐音&#xff09; 本程序支持设置任何单个视频或者自定义列表为桌面动态壁纸&#xff0c;设有快捷键和摸鱼功能&#xff0c;既能萌又能摸鱼本程序使用C#编写,V1版本…