广告
返回顶部
首页 > 资讯 > 后端开发 > Python >浅谈Python的异常处理
  • 395
分享到

浅谈Python的异常处理

浅谈异常Python 2022-06-04 18:06:44 395人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python的异常处理能力是很强大的,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。所有异常都是基类Exception的成员。所有异常都从基类Exception继承,而且都在e

python的异常处理能力是很强大的,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。所有异常都是基类Exception的成员。所有异常都从基类Exception继承,而且都在exceptions模块中定义。Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exceptions模块即可使用异常。Python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。

注意:虽然大多数错误会导致异常,但一个异常不一定代表错误,有时候它们只是一个警告,有时候它们可能是一个终止信号,比如退出循环等。

一.与python异常相关的关键字

raise:手动抛出/引发异常:raise [exception[,data]
try/except:捕获异常并处理
pass:忽略异常
as:定义异常实例(except IOError as e)
finally:无论是否出现异常,都执行的代码]
else:如果try中的语句没有引发异常,则执行else中的语句
except Exception as error:

二.python中的异常类型

1.StandardError类:如果程序上出现逻辑错误, 将引发该异常。StandardError类是所有内敛异常的基类,放置在默认的命名空间中,因此使用IOEroor, EOFError, ImportError等类,不需要导入exception模块。

StopIteration类:判断循环是否执行到尾部,如果循环到尾部,则抛出该异常。
GeneratorExit类:是由Generator函数引发的异常,当调用close()时引发该异常。
Warning类:表示程序中的代码引起的警告。

三.基本方式:

1.try:

语句1

except [exception1(,exception2...),[data…]]:

语句2

else:

语句3

该种异常处理语法的规则是:

· 执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句。

· 如果第一个except中定义的异常与引发的异常匹配,则执行该except中的语句。

· 如果引发的异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制。

· 如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。

· 如果没有发生异常,则执行else块代码。


import traceback
try:
  1/0
except Exception as err:
  print(err)
try:
  f = open("file.txt","r")
except IOError as e:
  print(e)
try:
  f = open("file.txt","r")
except Exception as e:
  print(e)

最后两个的输出是一模一样的---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.try:

语句1

finally:

语句2

该语句的执行规则是:

· 执行try下的代码。

· 如果发生异常,在该异常传递到下一级try时,执行finally中的代码。

· 如果没有发生异常,则执行finally中的代码。

第二种try语法在无论有没有发生异常都要执行代码的情况下是很有用的。例如我们在python中打开一个文件进行读写操作,我在操作过程中不管是否出现异常,最终都是要把该文件关闭的。这两种形式相互冲突,使用了一种就不允许使用另一种,而功能又各异

所以,一般情况下,finally里面执行的都是一些清理工作,比如:关闭文件描述符,释放

注意,finally中,如果出现异常,外部如果没有相应的捕获机制,该异常会层层抛出,直到最顶端,然后解释器停止。一般在外层再加一次try except异常捕获

三.手动使用raise引发异常

1.raise [exception[,data]]

2.在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称。异常名称标识出具体的类:Python异常是那些类的对象。执行raise语句时,Python会创建指定的异常类的一个对象。raise语句还可指定对异常对象进行初始化的参数。为此,请在异常类的名称后添加一个逗号以及指定的参数(或者由参数构成的一个元组)。

3.实例:


try:
  print("开始测试")
  raise IOError
except IOError:
  print("定义好的错误")
except:
  print("别的错误")

--结束END--

本文标题: 浅谈Python的异常处理

本文链接: https://www.lsjlt.com/news/14664.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅谈Python的异常处理
    Python的异常处理能力是很强大的,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。所有异常都是基类Exception的成员。所有异常都从基类Exception继承,而且都在e...
    99+
    2022-06-04
    浅谈 异常 Python
  • 浅谈NodeJs之数据库异常处理
    本文介绍了NodeJs之数据库异常处理,分享给大家,具体如下: NodeJs版本:4.4.4 数据库链接错误 使用nodejs处理异常最麻烦不过,这里我抛开nodejs提供的domain和一些第三方库专门处...
    99+
    2022-06-04
    浅谈 异常 数据库
  • C++学习笔记之浅谈异常处理
    异常处理主要是针对能通过编译但是运行是在某个特定条件下会出现异常,程序崩溃,结果出错。来进行的东西 C++处理异常的机制是由3个部分组成的,即检查(try)、抛出(throw)和捕捉...
    99+
    2022-11-12
  • 浅谈python中的错误与异常
    目录一、语法错误二、异常处理2.1、try-finally语句2.2、raise 语句2.3、assert 断言语句三、小结一、语法错误 异常:大多数的异常都不会被程序处理,都以错误信息的形式展现在这里 二、异常处理...
    99+
    2022-06-02
    python 错误 python 异常
  • 浅谈python抛出异常、自定义异常, 传递异常
    一. 抛出异常 Python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行...
    99+
    2022-06-04
    异常 自定义 浅谈
  • 浅谈几种Java自定义异常处理方式
    目录自定义异常类错误编码处理断言处理应用日志处理异常消息模板和格式化处理总结在Java中,异常是一种常见的处理机制。当程序运行出现错误时,Java会默认抛出一个异常,并通过栈回溯信息...
    99+
    2023-05-19
    Java自定义异常 Java 异常
  • Python常见异常的处理方式浅析
    目录一、引言二、使用异常对数据进行初始化三、使用异常实现重处理四、使用异常应对多种潜在情况五、获取异常详细信息六、人工触发异常七、异常嵌套小结一、引言 有一定 Python 编程经验...
    99+
    2023-02-21
    Python异常处理机制 Python异常处理语句
  • 浅谈什么是SpringBoot异常处理自动配置的原理
    异常处理自动配置 ErrorMvcAutoConfiguration自动配置类自动配置了处理规则,给容器中注册了多种组件 errorAttributes组件,类型为DefaultEr...
    99+
    2022-11-12
  • 浅谈Python处理PDF的方法
    处理pdf文档 第一、 从文本中提取文本 第二、 创建PDF 两种方法 #使用PdfFileWriter import PyPDF2 pdfFiles = [] for filename in ...
    99+
    2022-06-04
    浅谈 方法 Python
  • 浅谈spring boot 1.5.4 异常控制
    spring boot 已经做了统一的异常处理,下面看看如何自定义处理异常1.错误码页面映射1.1静态页面必须配置在 resources/static/error文件夹下,以错误码命名下面是404错误页面内容,当访问一个不存在的链接的时候,...
    99+
    2023-05-31
    spring boot 异常处理
  • 浅谈抛出异常和捕获异常的一些区别
    小总结 抛出异常: 创建异常对象,封装异常信息然后通过throw将异常对象传递给调用者。 不对异常进行处理只对异常进行抛出是非常不负责任的表现可以称为渣男。 但是可以通过主动抛出异常...
    99+
    2022-11-12
  • 浅谈Python爬取网页的编码处理
    背景 中秋的时候,一个朋友给我发了一封邮件,说他在爬链家的时候,发现网页返回的代码都是乱码,让我帮他参谋参谋(中秋加班,真是敬业= =!),其实这个问题我很早就遇到过,之前在爬小说的时候稍微看了一下,不过没...
    99+
    2022-06-04
    浅谈 网页 Python
  • 异常--python异常处理
    --****--python 异常处理------------------------------------------------------------------------------****DB API中定义了一些数据库操作的错...
    99+
    2023-01-31
    异常 python
  • 再谈PHP错误与异常处理
    目录一、异常与错误的概述PHP中什么是异常PHP中什么是错误上面的说法是有前提条件的PHP异常处理很鸡肋?二、ERROR的级别三、PHP异常处理中的黑科技1:set_error_ha...
    99+
    2022-11-12
  • 浅谈Python数据处理csv的应用小结
    目录题目代码运行实例题目 文件scores.csv包含十位学生的成绩单,表头是"姓名 语文 数学 英语"。请编程完成下述功能。1)计算每位学生的总分与排名,并将扩...
    99+
    2022-11-12
  • python的异常处理
    1.1什么是异常?异常时程序发生错误的信号,一旦程序出错机会产生一种类型的异常,1.2为什么要处理异常?为了保证程序的健壮性1.3怎么处理异常?语法错误:程序运行前就应该解决逻辑错误:try…except1.4五种异常处理语法:异常处理一:...
    99+
    2023-01-31
    异常 python
  • 浅谈python中常用的excel模块库
    目录openpyxl如何安装:使用效果之⼀:xlwings如何安装:使用效果之⼀:XlsxWriter如何安装:使用效果之⼀:Tablibxlrd如何安装:xlwtxluti...
    99+
    2022-06-02
    python excel模块
  • 浅谈Python中的常用内置对象
    目录一、常用的python内置对象二、变量的定义与使用三、整数四、浮点数五、布尔类型六、字符串类型七、注释一、常用的python内置对象 ...
    99+
    2022-11-12
  • Python -- 异常处理
    当一个小人物冲向大时代,有多少伤害埋伏左右;      -- 北岛《城门开》当一个大梦想埋于小身体,有多少潜能冲破束缚。      -- 小Q 《梦想家》-------------------------------------------...
    99+
    2023-01-31
    异常 Python
  • python异常处理
    import re,random,traceback kk ='<img src="//kanimg.9ku.com/Article/20170727/1501135687683763.gif" alt="不要惹怒胖子,后果自己看"&...
    99+
    2023-01-31
    异常 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作