首页 > 编程语言 >【12.1 python中的异常概述】

【12.1 python中的异常概述】

时间:2024-08-25 09:50:41浏览次数:12  
标签:python 捕获 引发 except Python 12.1 概述 pass 异常

概述python中的异常


Python中的异常(Exception)是一种在程序执行期间发生,且会扰乱程序正常流程的事件。异常是Python用来响应错误和异常情况的一种机制,它允许程序在遇到错误时优雅地处理它们,而不是突然崩溃并停止执行。异常处理对于开发健壮、可靠和用户友好的应用程序至关重要。

异常处理的基本概念

  1. 引发异常:当Python解释器检测到代码中存在错误时,它会引发一个异常。这个错误可能是一个语法错误(这会导致程序在编译时失败,而不是在运行时),也可能是一个运行时错误(如除以零、尝试访问未定义的变量等)。

  2. 捕获异常:Python提供了try...except语句来捕获和处理异常。你可以指定要捕获的异常类型,并在except块中编写代码来处理这些异常。

  3. 抛出异常:除了Python自动引发异常外,你还可以使用raise语句手动抛出一个异常。这在你想要通知调用者发生了某些不期望的情况时非常有用。

  4. 传递异常:如果在try块中没有捕获到异常,异常会被传递到上一层的调用者,直到它被捕获或到达程序的顶层。如果程序在顶层仍然没有捕获到异常,程序将会终止执行,并打印出一个错误消息和一个堆栈跟踪。

异常处理的基本语法

try:
    # 尝试执行的代码块
    pass
except ExceptionType1:
    # 如果发生ExceptionType1异常,则执行此块
    pass
except ExceptionType2:
    # 如果发生ExceptionType2异常,则执行此块
    pass
except Exception as e:
    # 捕获所有其他类型的异常
    print(f"An error occurred: {e}")
else:
    # 如果没有异常发生,则执行此块
    pass
finally:
    # 无论是否发生异常,都会执行此块
    pass

常见的异常类型

Python有许多内置的异常类型,每种类型都对应于特定的错误情况。以下是一些常见的异常类型:

  • ValueError:当传入的参数类型正确,但值不合适时引发。
  • TypeError:当函数或操作期望的参数类型与实际类型不匹配时引发。
  • IndexError:当尝试访问的索引不在序列的有效范围内时引发。
  • KeyError:当在字典中查找不存在的键时引发。
  • ZeroDivisionError:当尝试除以零时引发。
  • NameError:当尝试访问一个未定义的变量时引发。
  • AttributeError:当尝试访问对象的某个不存在的属性时引发。

异常处理是Python编程中的一个重要方面,它允许开发者编写出能够优雅地处理错误和异常情况的程序。通过适当地使用异常处理机制,你可以确保你的程序在面对不可预见的情况时仍然能够保持稳健和可靠。

标签:python,捕获,引发,except,Python,12.1,概述,pass,异常
From: https://blog.csdn.net/MITA1/article/details/141506100

相关文章

  • Python消息轰炸脚本
    Python代码:frompynput.keyboardimportKey,Controllerimporttimekeyboard=Controller()messages=input("请输入你要轰炸的信息:")times=eval(input("请输入你要轰炸的次数:"))print("数据已被后台接受,请将光标移动至会话框")time.sleep(2)foriinrange(3):print(&qu......
  • Python安装教程
    第一步:先去官网上下载python安装包系统64位下载地址:系统32位下载地址:第二步:点击安装包要点击Addpython.exetoPATH这个是配置系统变量的然后点installNow就开始跑安装进度了打开终端输入代码python再输入print(123),如果输入123那么安装完成,可以整活了......
  • 在Python虚拟环境中利用PyInstaller高效构建可执行EXE文件的专业指南
    使用虚拟环境(如venv或conda)来打包Python程序为exe文件是一个很好的实践,因为它可以确保应用程序在不同的环境中具有一致性和可移植性。然而,需要注意的是,虚拟环境本身并不直接提供将Python程序打包成exe文件的功能。这通常需要使用专门的打包工具,如PyInstaller、cx_Freeze或py......
  • 浦语Camp3:入门2-Python基础
    任务类型任务内容闯关任务python实现wordcount闯关任务Vscode连接InternStudiodebug笔记1.python实现wordcount请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数text="""Gotthispandaplushtoyformyd......
  • Python wxauto 微信 机器人复读机
    fromwxautoimport*importtimeimportrandomrepeat_rate=.3#回复概率wait_seconds=5#查询时间start_num=20#语料库少于这个数,就先攒一攒file_name='db.txt'#语料库路径,可用数据库替代split_tag='6lol6'#分隔符,可改,如果用数据库,就不需要这个c......
  • 【数值计算方法】蒙特卡洛方法积分的Python实现
    原理不做赘述,参见【数值计算方法】数值积分&微分-python实现-FE-有限元鹰-博客园,直接上代码,只实现1d,2d积分,N维积分的蒙特卡洛方法也类似.代码fromtypingimportCallable,Union,ListdefMonteCarloInt2d(f:Callable,x:Union[float,List[float]],......
  • 一篇讲完自动化基础-Python【万字详细讲解】
    ​​您好,我是程序员小羊!前言这篇文章主要学习Python的语法,为后续的自动化打基础Python+requests接口自动化Python+seleniumweb自动化Python+appium移动端自动化(手机app)这篇文章分六个阶段百分比进行划分,到时可以选节查看什么是python?Python是......
  • 【Python脚本】爬取网络小说
    作为重度小说爱好者,小说下载网站经常被打击,比如:笔趣阁,奇书网,爱书网,80电子书.这些网站的下载链接经常会失效,所以,我想自己动手写一个爬虫程序,抓取网络小说,并下载到本地.给出两种思路的python脚本,脚本并不对所有小说网站通用,具体使用时,需要根据网站的网页结构进行......
  • python元组
    元组是不可改变的序列,同list一样,元组是可以存放任意类型的容器元组的表示方法创建空元组t=()#用括号创建空元组t_1=tuple()#用tuple创建空列表创建非空元组,单个元素用()创建时,元素后面加逗号(,)区分单个对象还是元组t=(1,)#注意,单个元素必须加(,),......
  • Python内置函数zip()——《Python内置函数手册》Python老吕编著
    Python内置函数zip——《Python内置函数手册》Python老吕编著Python内置函数`zip()`1.引言1.1迭代器和序列的概念1.2`zip()`函数概述2.`zip()`函数的基础知识2.1函数定义与语法2.2参数说明2.3返回值解释3.`zip()`函数的应用场景3.1将多个......