百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python基础:什么鬼?还有Exception捕获不了的超级异常!

off999 2024-11-19 08:36 66 浏览 0 评论

大家好,我是钢铁老豆!今天我们来聊聊一个让很多Python新手略感迷惑的话题:Exception也无法捕获的超级 (基础) 异常!这是我们在编写Python代码时可能会遇到的一个非常真实的情况。

0. 异常处理的常规认知

在Python中,异常处理是一个非常重要的部分。通常,我们使用try和except语句来捕获和处理异常。大多数情况下,我们会捕获Exception类,因为它几乎涵盖了所有的标准运行时错误。

然而,有一类特殊的异常,即使是万能的Exception也捕获不了,那就是BaseException的其他直接子类,从继承链上讲,它们和Exception属于同级别的异常。

1. BaseException 的直接子类

BaseException是Python中所有异常的祖先,包括以下4个直接子类:

  • SystemExit:这个异常由sys.exit()函数或接收到kill指令的 SIGTERM 终止信号时触发,用于请求Python程序正常退出。如果不特别处理,它会导致程序退出,不会显示堆栈跟踪信息。
  • KeyboardInterrupt:这个异常由用户执行键盘中断操作(比如按下Ctrl+C)时触发,通常用于停止程序执行的循环或长时间运行的命令。
  • GeneratorExit:这个异常由生成器(generator)或协程(coroutine)关闭时触发。如果生成器没有处理这个异常,它会被默默地忽略。
  • Exception:这是大多数内置非系统退出异常的基类。几乎所有的用户定义的和内置异常都是从这个类派生的,包括IOError、ValueError和RuntimeError等等。

2. 处理特殊的 BaseException 子类

在上述BaseException的直接子类中:

  • GeneratorExit:不需要我们处理
  • SystemExitKeyboardInterrupt:与系统退出有关,可以根据自己的需要,捕获并处理,比如打印日志提示。
  • Exception:捕获除上述同级异常外的其他标准运行时错误,比如 IOError、ValueError 和 RuntimeError。当然我们也可以在Exception之前优先匹配更具体的 Exception 子类。
import sys

try:
    # raise RuntimeError
    sys.exit(0)
except SystemExit:
    print("捕获系统退出!")
except KeyboardInterrupt:
    print("捕获键盘中断!")
except RuntimeError:
    print("捕获具体异常!")
except Exception:
    print("捕获普通异常!")

3. 完整参考

想要更深入地了解Python中的异常处理和BaseException的其他子类,请访问Python的官方文档:

https://docs.python.org/3/library/exceptions.html#bltin-exceptions

以上就是今天的分享,希望对大家有所帮助!如果觉得有用,不妨点个赞、收藏、留言或关注我吧!每天学习一点Python小知识,这里有你感兴趣的基础、技能、数据、模型和AI。我是钢铁老豆,一个30岁转行IT、自学成为算法工程师、想用AI点亮孩子小小世界的Pythoner。

相关推荐

win7重装系统后键盘鼠标没反应

方法一:使用安全模式来解决1.首先我们尝试重启电脑,按关机键几款重启,如果重启电脑没有效果的话,将电脑鼠标的接头重新换一个USB接头即可。2.接着再开机按F8键(这时键盘肯定能用),再到高级启动选项下...

4g网速最快的apn接入点(4g哪个接入点快)

中国联通网速最快最稳的APN是3gnet。联通4G卡APN接入点应该选择“3gnet”,具体设置步骤如下:1、以MIUI系统为例,点击桌面上的“设置”应用图标;2、在打开的设置应用界面中,选择“双卡和...

支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
linux软件大全(linux相关软件)

Airtime-Airtime是一款用于调度和远程站点管理的开放广播软件Ardour-在Linux上录音,编辑,和混音Audacious-开源音频播放器,按你想要的方式播放你的音乐,...

什么是网络交换机(什么是网络交换机的作用)

交换机(又名交换式集线器)作用与集线器大体相同,可以简单的理解为将一些机器连接起来组成一个局域网,而每台机器还能独享带宽。原理:MAC地址通常由网卡(NIC)决定,并且每个网卡、交换机和路由器的每个端...

wifi热点精灵下载(下载wifi精灵怎么样)

启动你好,解决方法一这是网卡IP的设置问题,看下上网的那个网卡有没有“共享”或者看下网络连接列表里有没有“已共享”字样,取消共享:电脑右下角右击“打开网络和共享中心”-----点击“更改适配器”-...

win7游戏版系统(win7游戏专用版)

具体方法:1、进入win7桌面,右键单击桌面上的计算机图标,选择要打开的属性,然后进入下一步。2、点击系统属性界面左侧的“高级系统设置”进入下一步。3、切换到弹出系统属性界面的“高级”选项,点击性能选...

win7如何查看隐藏文件(win7打开隐藏的文件夹)
win7如何查看隐藏文件(win7打开隐藏的文件夹)

方法/步骤分步阅读1进入win7系统桌面,鼠标双击打开我的电脑。2在我的电脑上方的导航条中点击工具选项。3在出现的下拉框中选择‘文件夹选项’进入。4在出现的文件夹选项界面中切换到‘查看’选项。5拉动下方的滚动条,找到‘隐藏受保护的操作系统文...

2025-11-29 05:51 off999

电脑怎样设置自动关机(笔记本电脑怎样设置自动关机)

电脑如何设置定时关机,方法1.点击电脑屏幕左下角的开始按钮,在所有程序里依次选择选择附件---系统工具,然后单击打开任务计划程序。2.点击打开任务计划程序后,在最右边的操作框里选择创建基本任务,然后在...

最近最新电影网(最新的电影资讯)

目前有许多观看最新电影的网站可供选择。其中一些知名的网站包括Netflix、AmazonPrimeVideo、Hulu、Disney+、AppleTV+和HBOMax。这些网站提供了广泛的电影...

h3c网络管理软件(h3c 网管)

1.可能无法登录2.H3C无法登录的原因可能是网络连接问题、账号密码错误、软件版本不兼容等。网络连接问题可能是由于网络故障、设备配置错误等导致无法正常登录。账号密码错误可能是输入错误或者账号被锁定...

qq轻聊版官网首页(qq轻聊版2019最新下载正版)
qq轻聊版官网首页(qq轻聊版2019最新下载正版)

qq是一款功能十分强大的软件,身边很多的朋友都在使用,但是还是有一些新手朋友对于这个软件不是非常的了解,今天就聊一聊关于qq轻聊版和qq有什么区别的问题,希望可以帮助到有需要的朋友。第一,轻聊版不带捆绑软件,轻聊版QQ主界面功能部分消失,看...

2025-11-29 03:51 off999

能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)
平板电脑cpu性能天梯图(平板cpu天梯排行榜)

1、麒麟9000麒麟9000芯片是华为公司于2020年10月22日20:00发布的基于5nm工艺制程的手机Soc,采用1个A77,3个2.54GHzA77,4个2.04GHzA55的八核心设计,最...

怎么恢复备份的系统(恢复系统备份文件)

1.打开“控制面板”>“备份和还原(Windows7)”。2.点击右侧的“设置备份”。 3.选择储存备份的位置,如果要储存在共享文件夹或NAS上,请选择“保存在网络上(V).....

取消回复欢迎 发表评论: