Python语言PPT-第9章异常

合集下载

Python基础教程 第9章 异常处理

Python基础教程 第9章 异常处理

Python基础编程
9.1.2 异常的检测与处理
例 9-1-2 所示操作实例进行了异常处理,添加 except 语句捕获异常。但一般情况下,异 常只会在出 现某种情况下才能发生,此时可以添加 else 语句。当 try语句中操作正常,没有捕 获到任何错误信息,就不再 执行 except 语句,而是执行 else 语句的内容,从而 实现程序的友 好性。操作实例如例 9-1-3 所示,结合 例 9-1-4 进行深一步理解。
Python 语法错误
9.1.1 异常
续表 9-1-1 标准异常一览表
异常名称
描述
IndentationError
缩进错误
TabError
Tab 和空格混用
SystemError
一般的解释器系统错误
TypeError
对类型无效的操作
ValueError
传入无效的参数
UnicodeError
Unicode 相关的错误
SyntaxWarning
可疑的语法的警告
UserWarning
用户代码生成的警告
Python基础编程
9.1.2 异常的检测与处理
异常的检测与处理是用 try 语句来实现的。 try语句有以下两种基本形式,格式如下:
● try…except ● try…finally 对于第 1 种形式,except 子句可有多个;在第 2 种形式中,finally子句只能有一个。 try语句在两种基本形式基础上,还可以将两者复合 起来使用,格式如下: try…except…finally 这种形式是复合语句。try 子句的下面(或说后面 )是被检测的语句块,except 子句的下 面是异常处理 语句块,finally子句的下面是无论有无异常都执行的语 句块

python课件:Python异常

python课件:Python异常

按自己的方式出错
•异常可以在某些东西出错时自动引发。 •自己如何引发异常,以及创建自己的异常 类型。
raise语句
•为了引发异常,可以使用一个类 (exception)的子类或者实例参数调用 raise语句。 •使用类时,程序会自动创建类的一个实例。 •raise Exception •raise Exception('hyperdrive overload')
不止一个except子句
• 如果在提示符后面输入非数字类型的值,就会产生另外一 个异常:
• nter the first number:10 • enter the second number:‘hello’ • Traceback (most recent call last): • File "C:/Users/lenovo/PycharmProjects/untitled1/hello.py",
捕捉对象
•如果想让程序继续运行,但是又因为某种 原因想记录下错误,比如打印给用户看: • try: • x=input('enter the first number:') • y=input('enter the second number:') • print x/y • except (ZeroDivisionError,TypeError), e: • print e
捕捉异常
• 为了捕捉异常,并且做出一些错误处理 • try: • x=input('enter the first number:') • y=input('enter the second number:') • print x/y •except ZeroDivisionError: • print 'the second number can not be zero!'

python实用教程 第九章 异常处理

python实用教程 第九章 异常处理

• >>> try:

raise NameError('This is NameError')
• except NameError:

print('An exception happened!') #后面不加raise

• An exception happened! #若不加raise,输出对应字符就结束
• 异常是Python的对象,表示一个错误。当Python脚本发生异常时, 需要捕获并处理所有异常,否则程序会终止执行。就如乘坐过山 车,有任何让过山车在运行过程中停下的异常因素都需要排除, 否则难以保证乘客的安全。
• 在Python中,异常属于类的实例,这些实例可以被引用,并且可 以用很多种方法进行捕捉,使得异常可以用一些友好的方式进行 化解,而不是简单粗暴的让整个程序停止。
• def exp_exception(x,y): • try: • a=x/y • print('a=', a) • return a • except Exception: • print('程序出现异常,异常信息:被除数为0') • • exp_exception(2, 0)
• 程序在执行过程中,try语句块中的语句在执行时发生异常,程序最后 执行的是except子句。因为如果语句正常,应该输出“a=”的形式, 但实际输出的是except子句中的打印语句的内容。
9.2 异常化解
• 出了异常怎么办呢?
• 就如乘坐的异常过山车,当在运行过程中停止时,乘客可以通过 自己的才智让过山车运行起来。
• 程序也一样,作为程序开发人员,谁都不想让自己写出来的代码 有问题,但这几乎是不可能的。好在编写程序的前辈们经过不断 积累与思考,创造了不少好方法处理程序中的异常, Python中, 异常最简单的化解方式是使用try语句。

Python大学教程ppt课件

Python大学教程ppt课件
• 在使用自定义异常类型时,经常需要在捕获异常的同时获取该异常的实
例(例如,上例中的e),以获取存储在异常实例中的数据(例如,付 款金额e.bill),这只需要在异常类型后以逗号分隔并放置一个实例名即 可。
异常的捕获
• 当异常发生时,就需要捕获并处理相应的异常。try...except语句是捕获
处理异常的常用语句之一,其语法如下:
自定义异常
• Python如同很多高级程序设计语言一样允许用户自定义异常类型,用于
描述Python异常体系中没有涉及的异常情况。通过前面的学习,可知除 3个系统级异常外,其他异常类型均是Exception子类;而定义一个自定 义异常也十分简单,只需要定义一个继承了Exception类的派生类即可。 Python不会自动为用户抛出或处理任何自定义异常,因而用户需要使用 raise语句在合理的场合手工触发异常。
自定义异常
• Python如同很多高级程序设计语言一样允许用户自定义异常类型,用于
描述Python异常体系中没有涉及的异常情况。通过前面的学习,可知除 3个系统级异常外,其他异常类型均是Exception子类;而定义一个自定 义异常也十分简单,只需要定义一个继承了Exception类的派生类即可。 Python不会自动为用户抛出或处理任何自定义异常,因而用户需要使用 raise语句在合理的场合手工触发异常。
异常的抛出
• 程序在运行过程中出现错误而无法正常运行时,会陷入异常。此外,
Python也为用户提供了raise关键字以人为地抛出指定类型的异常。
• 使用raise语句手动抛出异常在程序调试、自定义异常等场景下有诸多应
用。注意,Python不会自动引发自定义异常,这要求程序开发者为自定 义的异常编写合理的异常抛出代码 。

Python教程之----第9章-Python的异常PPT课件

Python教程之----第9章-Python的异常PPT课件
f = open("test") FileNotFoundError: [Errno 2] No such file or directory: 'test’
✎ 异常类
7. AttributeError 当尝试访问未知对象属性时,会引发AttributeError异 常
Traceback (most recent call last): File "D:/PythonCode/Chapter09/异常.py", line 6, in <module>
print() AttributeError: 'Car' object has no attribute 'name’
✎ 过渡页
01 异常简介 02 异常类 0033 异异常常处处理理 04 抛出异常 05 自定义异常 06 with和as环境安装器
✎ 捕获简单异常
try-except语句定义了监控异常的一
段代码,并提供了处理异常的机制。
try: # 语句块
except: # 异常处理代码
✎ 捕获多个异常
处理多个异常的try-except语句格式如下:
try: # 语句块
except 异常名称1: # 异常处理代码1
except异常名称2: # 异常处理代码 …
✎ 捕获异常的描述信息
当出现多种异常时,为了区分不同的错误信息,可以 使用as获取系统反馈的信息。
✎ 异常类
2. ZeroDivisionError 当除数为零的时候,会引发ZeroDivisionError异常。
Traceback (most recent call last): File "D:/PythonCode/Chapter09/异常.py", line 1, in <module>

Pyhton实用教程 第9章 异常

Pyhton实用教程 第9章 异常
PAGE 3 PAGE 3
9.1 为什么要使用异常
异常会让我们从一个流程中跳出来,可以处理例外,让反应回到正轨。
举例:工业制氨,氨的工业制备是通过氮气和氢气在高温高压加催化剂的条件下完成的。倘若这三个条 件有一个不满足,化学反应就不会顺利进行。若是不能快速排除异常,只能放弃此次制备,这会导致很 大的损失。
finally语句也称为终止行为或是清理语句,一ut("please input something : ") finally:
分析:
print("finally") print("The last one")
输出1: please input something : dd
语句finally表示无论try代码块中发生了什么,一定会在最后时执行收尾 The experiment has been finished and return the equipment.
的代码。就像程序模拟的实验,不管程序有什么意外最后总会实验结 束,归还器材
PAGE 8
9.6 finally语句
练习:
1. 列出异常的几个优点。 2. 如何从异常中恢复你的程序。 3. 列出触发异常的几种方式。
PAGE 10
text = input("please input something : ")
EOFError: EOF when reading a line
finally
PAGE 9
9.7 总结
异常是一种比较高级的控制流设备,它可能是由Python引发,也可能是你自己的程序引发,在 编程时要先分析并选取异常条件。我们在这里介绍的内容是比较基础的,要求大家熟练应用异常 机制。

Python语言程序设计第九章文件课件

Python语言程序设计第九章文件课件
2023/10/20
7
文件的打开方式:
第9章 文件
打开方式
含义
rt 只读打开一个文本文件,只允许读数据
wt 只写打开或建立一个文本文件,只允许写数据
at 追加打开一个文本文件,并在文件末尾写数据
rb 只读打开一个二进制文件,只允许读数据
wb 只写打开或建立一个二进制文件,只允许写数据
ab 追加打开一个二进制文件,并在文件末尾写数据
11
2.文本文件的写入
第9章 文件
(1) write()方法
文件对象. write (字符串)
在文件当前位置写入字符串,并返回写入的字符个数。
>>>fp.open("e:\\file1.txt", "w")
>>>fp.write("Python")
6
(2) writelines()方法 文件对象. writelines (字符串元素的列表)
在文件的当前位置处依次写入列表中的所有元素。
>>>fp.open("e:\\file1.txt", "w")
>>>fp.writelines(["Python","Python programming"]
12
第9章 文件
【例9.1】把一个包含两列内容的文件input.txt,分割成两个 文件col1.txt, col2.txt ,每个文件一列内容。
代表一个字符,此种存储形式便于输出显示,在 DOS操作系统下可以直接阅读。
二进制文件 二进制文件 中的 数据 是按照在内存中的 二进制 存储格式存放的,此种存储形式节省存储单元。 二进制文件在DOS操作系统下不能直接阅读。

《Python语言》配套PPT之九:异常

《Python语言》配套PPT之九:异常

BDRack大数据实验平台——一站式的大数据实训平台
云创公众号推荐
刘鹏看未来
微信号:lpoutlook
云计算头条
微信号:chinacloudnj
中国大数据
微信号:cstorbigdata
深度学习世界
微信号:dl-world
云创大数据订阅号
微信号:cStor_cn
云创大数据服务号
微信号:cstorfw
一个try语句还可以和多个except语句搭配,对我们感兴趣的异常进行检测处 理。
如果try语句包含的异常没有出现在后面跟着的except语句中的时候,则程序 直接报错输出异常的类型。
9.1 异常概述
第九章 异常
9.1.2 处理异常 如果当我们不确定在try语句块中会出现哪一种异常的时候,我们可以在 except后面不跟具体的异常类型。
语法格式如下:
raise MyException(defineexceptname)
在上述语法中,MyException——自定义异常的类型,defineexceptname— —自定义异常的说明。
9.3 自定义异常
第九章 异常
同时,我们也可以结合try—except主动抛出自定义的异常,如下例代码所示:
大数据应用人才培养系列教材
Python语言
刘鹏 张燕 李肖俊 主编
总主编
刘 河 钟 涛 副主编
大数据应用人才培养系列教材
第九章 异常
9.1 异常概述 9.2 异常处理流程 9.3 自定义异常 9.4 实验 9.5 小结 9.6 习题
9.1 异常概述
第九章 异常
9.1.1 认识异常
异常就是一个事件,该事件会在程序执行过程中有语法等错误的时候 发生,异常会影响程序的正常执行。 通常在Python无法正常处理程序时就会发生一个异常,程序会终止执 行。 当Python程序发生异常时,我们需要检测捕获处理它。

《Python程序设计与案例教程》 chap9异常处理

《Python程序设计与案例教程》  chap9异常处理
print("除数不能为零") except NameError: print("变量不存在") else:
请输入除数:0
除数不能为零
print(x,"/",y,"=",z)
9.2.3 try...except...finally语句结构 一般形式: try: 语句块: except: 异常处理语句块 finally: 语句块
一般形式: with context_expression [as var]: with语句块
with open('test.txt') as f: for line in f: print(line,end='def isPrime(n): assert n >= 2 from math import sqrt for i in range(2, int(sqrt(n))+1):
Python程序设计与案例教程 第9章 异常处理
9.1 异常
程序中常见的错误分为三种:
(1)语法错误
(2)编译错误
(3)系统错误
>>> 10*(3/0) Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> 10*(3/0) ZeroDivisionError: division by zero
print("除数不能为零")
除数不能为零
100 0.01
9.2.2简单形式的try…except语句
一般形式: try: 语句块 except 异常类型1: 异常处理语句块1 except异常类型2: 异常处理语句块2 …… except异常类型n: 异常处理语句块n except: 异常处理语句块 else: 语句块

9.Python异常处理

9.Python异常处理

错误和异常
异常 检测和采取可能的措施 异常引发后,可以调用很多不同的操作,可以忽略错误(记录错 误但不采取任何措施, 采取补救措施后终止程序),或是减轻问题 的影响后设法继续执行程序。
Python程序设计
9.1 错误和异常
9.2 常见异常
9.3 异常处理 9.4 触发异常
Python程序设计
常见异常
NameError:尝试访问一个未声明的变量
Python程序设计
常见异常
ZeroDivisionError:除数为零
Python程序设计
常见异常
SyntaxError:Python 解释器语法错误
Python程序设计
常见异常
IndexError:请求的索引超出序列范围
Python程序设计
常见异常
Python程序设计
异常处理
try-except 语句
Python程序设计
异常处理
多个except 语句
Python程序设计
异常处理
多个except 语句
Python程序设计
异常处理
多个except 语句
Python程序设计
异常处理
捕获对象
Python程序设计
异常处理
try ....except...else 语句,当没有异常发生时,else中的语句将会被执行
Python程序设计
异常处理
try ...except…finally 无论异常是否发生,在程序结束前,finally中的语句都会被执行
Python程序设计
try ...except…else…finally
Python程序设计
9.1 错误和异常

Python快速编程入门 第9章 异常 教学PPT

Python快速编程入门 第9章 异常 教学PPT

try: 可能出错的代码
except [异常类型 [as error]]: 捕获异常后的处理代码
finally: 一定执行的代码
# 将捕获到的异常对象赋值error
语法格式

9.2.3异常结构中的finally子句
• 无论try子句监控的代码是否产生异常,finally子句都会被执行 • finally子句多用于预设资源的清理操作,如关闭文件、关闭网络连接

9.3.1 使用raise语句抛出异常
使用raise语句可以显式地抛出异常,reise语句的语法格式如下:
raise 异常类 raise 异常类对象 raise
# 格式1:使用异常类名引发指定的异常
raise 语法格式
# 格式2:使用异常类的对象引发指定的异常
# 格式3: 使用刚出现过的异常重新引发异常
try: 可能出错的代码
except [异常类型 [as error]]: 捕获异常后的处理代码
# 将捕获到的异常对象赋error
语法格式

9.2.1 使用try-except语句捕获异常
try-except语句可以捕获与处理程序的单个、多个或全部异常。
num_one = int(input("请输入被除数:"))
num_two = int(input("请输入除数:"))
try:
print("结果为", num_one / num_two)
except ZeroDivisionError:
单个异常类型
print("出错了")
捕获单个异常

9.2.1 使用try-except语句捕获异常

Python教程之----第9章-Python的异常

Python教程之----第9章-Python的异常

raise IndexError("下标超出范围") from exception
✎ assert语句
assert语句又称作断言,指的是期望用户满足指定 的条件。
当用户定义的约束条件不满足的时候,它会触发 AssertionError异常,所以assert语句可以当做条 件式的raise语句。
段代码,并提供了处理异常的机制。
try: # 语句块
except: # 异常处理代码
✎ 捕获多个异常
处理多个异常的try-except语句格式如下:
try: # 语句块
except 异常名称1: # 异常处理代码1
except异常名称2: # 异常处理代码 …
✎ 捕获异常的描述信息
当出现多种异常时,为了区分不同的错误信息,可以 使用as获取系统反馈的信息。
✎ 过渡页
01 异常简介 02 异常类 03 异常处理 04 抛出异常 05 自定义异常 06 with和as环境安装器
✎ raise语句
使用raise语句能显示地触发异常,格式如下:
1.raise 异常类名 2.raise 异常类对象
引发指定异常类的实例
3.raise
重新引发刚刚发生的异常
✎ raise语句
✎ 异常类
1. NameError 尝试访问一个未声明的变量,会引发NameError。
Traceback (most recent call last): File "D:/PythonCode/Chapter09/异常.py", line 1, in <module>
print(foo) NameError: name 'foo' is not defined

大数据高职系列教材之Python语言PPT课件:第9章 异常

大数据高职系列教材之Python语言PPT课件:第9章 异常
• 另外,如果要对多个异常进行统一的处理,采用如下的语法格式:
9.1 异常概述
第九章 异常
• try: • [语句块] • except (Exception1,Exception2,Exception3,…): • 出现异常(exception)后的处理代码 • 在上述语法中,多个异常之间用逗号“,”隔开。
• 一个try语句还可以和多个except语句搭配,对我们感兴趣的异常进行检测 处理。
• 如果try语句包含的异常没有出现在后面跟着的except语句中的时候,则 程序直接报错输出异常的类型。
9.1 异常概述
第九章 异常
• 如果当我们不确定在try语句块中会出现哪一种异常的时候,我们可以在 except后面不跟具体的异常类型。
大数据应用人才培养系列教材
第九章 异常
9.1 异常概述 9.2 异常处理流程 9.3 自定义异常 9.4 实验 9.5 小结 9.6 习题
9.2 异常处理流程
第九章 异常
• Python中的异常处理流程是: • 当程序运行try语句块检测到异常时,立即终止有异常的语句的执行,跳
转到匹配该异常的except子句执行异常处理代码,异常处理完毕后,如 果有finally语句就执行该语句块中的代码,最后终止整个程序的执行,如 果没有finally语句就直接终止整个程序的执行。 • 如果检测到异常,但没有该异常匹配的except子句,分两种情形:如果 有finally语句就执行该语句块中的代码,最后终止整个程序的执行;如果 没有finally语句就直接终止整个程序的执行。 • 如果在try语句块中没有检测到异常,程序执行完try语句块后,如果有 else语句块就执行里面的内容最后控制流就通过整个try语句,没有else 语句控制流就直接通过整个try语句。

精品课件 - Python常见异常处理

精品课件 -  Python常见异常处理
段代码,并提供了处理异常的机制。
try: # 语句块
except: # 异常处理代码
捕获多个异常
处理多个异常的try-except语句格式如下:
try: # 语句块
except 异常名称1: # 异常处理代码1
except异常名称2: # 异常处理代码 …
捕获异常的描述信息
当出现多种异常时,为了区分不同的错误信息,可以 使用as获取系统反馈的信息。
自定义异常
创建一个继承Exception类的子类,就是自定义 异常类。
当遇到自己设定的错误时,使用raise语句抛出 自定义的异常。
过渡页
01 异常简介 02 异常类 03 异常处理 04 抛出异常 05 自定义异常 06 with和as环境安装器
with语句
现在有一个需求,打开foo.txt文本文件,读取完所有的数据 以后关闭文件。 示例代码如下:
# 获取描述信息 except (ZeroDivisionError, ValueError) as result:
print("捕捉到异常:%s"%result)
捕获所有的异常
当程序中出现大量异常时,捕获这些异常是非常麻烦 的。这时,我们可以在except子句中不指明异常的类 型,这样,不管发生何种类型的异常,都会执行 except里面的处理代码。
raise语句
3. 传递异常
不带任何参数的raise语句,可以再次引发刚刚发 生过的异常,作用就是向外传递异常。
try: raise IndexError
except: print("出错了") raise
出错了 File "D:/异常.py", line 2, in <module> raise IndexError

Pytho应用基础教学课件-异常处理

Pytho应用基础教学课件-异常处理
601988 中国银行 601288 农业银行 601398 工商银行
Thank you
Life is short, You need Python.
try/except/else 语句
程序在运行过程中,可能遇到不可控制的错误:
➊ def stockCalculator(stock): ➋ return (stock[0], stock[1] * stock[2]) ➌ print(stockCalculator(['601988', 3.19, 100]))
➏ print(stockCalculator(['601988', 3.19, 100])) ➐ print(stockCalculator(['601988', 3.19])) ➑ print(stockCalculator(['601988', '3.19', '100']))
程序正常运行,没有发生异常。
➏ return result
完整 try 语句
完整 try 语句
在 try 语句中可以混合使用 except、else 和 finally 语句:
try: statements1
except name1: statements2
except (name2,name3): statements3

if code in stocks:
raise MyInputExc(code, name)
stocks[code] = name
➒ except MyInputExc as input_exc:
input_exc.log()
➓ except:

第9章 异常处理-Python 程序设计-祁瑞华-清华大学出版社

第9章 异常处理-Python 程序设计-祁瑞华-清华大学出版社
except IOError,e: print "程序产生的错误是:%s"%e
finally: f.close()
上机实验1 常见异常
【实验目的】熟悉常见异常,及其产生原因。 【实验内容及步骤】 1. NameError。执行如下代码,并观察输出结果。 >>> os.stat('f:/2.txt') 2. ZeroDivisionError。执行如下代码,并观察输出结果。 >>> 1/0 3. IndexError。执行如下代码,并观察输出结果。 >>> list = [1,2,3] >>> list[3] 4. IOError。执行如下代码,并观察输出结果。 >>> f = open('f:/123')
9.2 捕获异常
try-except语句 try: 要检测的代码块 except exception [, reason]: 处理异常的代码块
9.2 捕获异常
代码9-1 使用try-except语句处理异常 print '%欢迎使用除法计算器' num1_s = raw_input('请输入第一个数: ') num2_s = raw_input('请输入第二个数: ') num1 = eval(num1_s) num2 = eval(num2_s) try: r = float(num1)/num2 except ZeroDivisionError: r=0 print '这两个数之商是:%f' %r
num1 = eval(num1_s) num2 = eval(num2_s) r = float(num1)/num2 except ZeroDivisionError: r=0 except NameError: print '请输入数字。' os._exit(0) print '这两个数之商是:%f' %r

Python程序设计基础 Chap09 异常

Python程序设计基础 Chap09 异常
第9章 异常和异常处理
内容提纲
1 2 3 4 5 3
9.1 文件和文件路径 9.2 文件的读写 9.3 文件定位 9.4 文件相关函数及综合应用 9.5 CSV文件操作
引例
在前面的上机实践过程中,读者可能遇到过很多错误或 异常。错误一般指语法错误,通常是由于我们没有正确 掌握语法或输入代码过程中出错而造成的。这需要编程 者自己尽力在编码和输入过程中避免。异常即是一个事 件。该事件会在程序执行过程中发生,影响了程序的正 常执行。
引例


下面的代码根据用户输入的身高和体重数据计算用户的体重系数BMI。 >>>height=float(input("enter your height(m): ")) >>>weight=float(input("enter your weight(kg):")) >>>bmi=round((weight/(height*height)),2) >>>print("your BMI is: ",bmi) 程序要求输入合理的数据,一旦用户误将身高数据输入为0,则程序会出 现异常突然退出,并伴随一堆错误信息,如下所示: Traceback (most recent call last): File "C:/Users/ws/PycharmProjects/untitled1/ws.py", line 3, in <module> bmi=round((weight/(height*height)),2) ZeroDivisionError: float division by zero
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上面这种处理方式不推荐采用,因为这样做会掩藏程序员未想到的所有未曾 处理过的错误。
有一点一定要注意:try语句检测范围一旦出现了异常,剩下的其它语句将 不会被执行。如上例中,程序运行到try语句块的第一条语句“int('det')”的时 候检测到异常,程序立即跳转到except执行异常处理程序,其它程序代码块 就不再执行了。
*** 实验
*** 利用try-except处理除数为零的异常 *** 自定义异常的使用 *** raise关键字的使用 *** 内置异常处理语句的使用
第九章 异常
大数据应用人才培养系列教自定义异常 9.4 实验 9.5 小结 9.6 习题
*** 小结
第九章 异常
在Python当中,若程序在运行时出错,系统会自动地在出错的地方生成一个 异常对象,而后系统会在出错的地方向后寻找是否有对这个异常对象处理的 代码,如果没有,系统会将这个异常对象抛给其调用函数,这样层层抛出, 如果在程序主函数中仍然没有对这个异常对象处理的代码,系统会将整个程 序终止,并将错误的信息输出。
高校大数据与人工智能
微信号:data_AI
手机APP推荐
我的PM2.5
随时随地准确 查看身边的 PM2.5值
同声译
支持26种语言 互译的实时翻 译软件
我的南京
云创大数据为路 况大数据应用提 供技术支持
科技头条
汇聚前沿资讯 的科技情报站
网站推荐
万物云 智能硬件大数据免费托管平台
环境云 环境大数据开放共享平台
另外,如果要对多个异常进行统一的处理,采用如下的语法格式:
*** 异常概述
第九章 异常
*** 处理异常 try:
[语句块] except (Exception1,Exception2,Exception3,…):
出现异常(exception)后的处理代码 在上述语法中,多个异常之间用逗号“,”隔开。
*** 异常概述
*** 处理异常 (2) try - finally语句: 语法格式如下: try:
[语句块] except Exception[as reason]:
出现异常(exception)后的处理代码 finally:
无论如何都会被执行的代码
第九章 异常
*** 异常概述
第九章 异常
*** 处理异常 在上述语法中,如果一旦检测到try语句块中有任何异常,程序就会根据异 常类型跳转到except处执行对应异常类型的处理代码,最后再跳转到finally 处执行里面的代码;如果在try语句块中没有检测到任何异常,程序在执行 完try语句块里的代码后,跳过except中的语句块,最后跳转到finally处执行 里面的代码。
*** 异常概述
第九章 异常
*** 处理异常 如何检测并处理异常呢? 我们检测处理异常,可以通过try语句来实现,任何出现在try语句范围内的异 常都可以被检测到,有4种模式的try语句: try —except语句、try—except— finaly语句、ry—except—else语句、try (with)—except语句。 (1) try — except语句: 语法格式如下: try:
大数据应用人才培养系列教材
第九章 异常
9.1 异常概述 9.2 异常处理流程 9.3 自定义异常 9.4 实验 9.5 小结 9.6 习题
*** 自定义异常
第九章 异常
自定义一个简单的异常类,如下所示:
class MyError(Exception):
pass
在程序代码中使用关键字raise来抛出自定义的异常。
一个try语句还可以和多个except语句搭配,对我们感兴趣的异常进行检测处 理。
如果try语句包含的异常没有出现在后面跟着的except语句中的时候,则程序 直接报错输出异常的类型。
*** 异常概述
第九章 异常
*** 处理异常 如果当我们不确定在try语句块中会出现哪一种异常的时候,我们可以在 except后面不跟具体的异常类型。
感谢聆听
[语句块] except Exception[as reason]:
*** 异常概述
第九章 异常
*** 处理异常 出现异常(exception)后的处理代码
在语法格式中,“[语句块]”属于try语句的检测范围,它类似于while循环、 for循环、if/else语句一样;“except”后面跟上一个异常的名字,“as reason”报出异常的具体内容,并把这详细异常信息输出;“出现异常 (exception)后的处理代码”这部分是程序员对出现异常后如何处理的代码。
BDRack大数据实验平台——一站式的大数据实训平台
云创公众号推荐
刘鹏看未来
微信号:lpoutlook
云计算头条
微信号:chinacloudnj
中国大数据
微信号:cstorbigdata
深度学习世界
微信号:dl-world
云创大数据订阅号
微信号:cStor_cn
云创大数据服务号
微信号:cstorfw
语法格式如下:
raise MyException(defineexceptname)
在上述语法中,MyException——自定义异常的类型,defineexceptname— —自定义异常的说明。
*** 自定义异常
第九章 异常
同时,我们也可以结合try—except主动抛出自定义的异常,如下例代码所示:
大数据应用人才培养系列教材
Python语言
刘鹏 张燕 李肖俊 主编
总主编
刘 河 钟 涛 副主编
大数据应用人才培养系列教材
第九章 异常
9.1 异常概述 9.2 异常处理流程 9.3 自定义异常 9.4 实验 9.5 小结 9.6 习题
*** 异常概述
第九章 异常
*** 认识异常
异常就是一个事件,该事件会在程序执行过程中有语法等错误的时候 发生,异常会影响程序的正常执行。 通常在Python无法正常处理程序时就会发生一个异常,程序会终止执 行。 当Python程序发生异常时,我们需要检测捕获处理它。
大数据应用人才培养系列教材
第九章 异常
9.1 异常概述 9.2 异常处理流程 9.3 自定义异常 9.4 实验 9.5 小结 9.6 习题
习题:
1. Python异常处理结构有哪几种形式? 2. 异常和错误是同一概念吗?为什么?
AIRack人工智能实验平台 ——一站式的人工智能实验平台
DeepRack深度学习一体机 ——开箱即用的AI科研平台
如果检测到异常,但没有该异常匹配的except子句,分两种情形:如果有 finally语句就执行该语句块中的代码,最后终止整个程序的执行;如果没有 finally语句就直接终止整个程序的执行。
如果在try语句块中没有检测到异常,程序执行完try语句块后,如果有else语 句块就执行里面的内容最后控制流就通过整个try语句,没有else语句控制流 就直接通过整个try语句。
class Myerror(Exception):
pass
try:
raise Myerror('测试自定义的异常')
except Myerror as e:
print(e)
运行结果如下:
测试自定义的异常
大数据应用人才培养系列教材
第九章 异常
9.1 异常概述 9.2 异常处理流程 9.3 自定义异常 9.4 实验 9.5 小结 9.6 习题
*** 异常概述
第九章 异常
*** 处理异常 (4) try (with)—except语句:
语法格式如下:
try:
with <语句> as name:
[语句块]
except Exception[as reason]:
出现异常(exception)后的处理代码
在语法中可见,with语句出现在try语句块中,一般情况下就不用再写finally语句 块了。使用with语句的最大好处是减少代码量,比如当我们对文件操作时忘记了 关闭文件操作,则with语句会自动执行关闭文件操作。
大数据应用人才培养系列教材
第九章 异常
9.1 异常概述 9.2 异常处理流程 9.3 自定义异常 9.4 实验 9.5 小结 9.6 习题
*** 异常处理流程
第九章 异常
Python中的异常处理流程是:
当程序运行try语句块检测到异常时,立即终止有异常的语句的执行,跳转 到匹配该异常的except子句执行异常处理代码,异常处理完毕后,如果有 finally语句就执行该语句块中的代码,最后终止整个程序的执行,如果没有 finally语句就直接终止整个程序的执行。
(3) try – except - else语句:
语法格式如下:
try:
[语句块]
*** 异常概述
第九章 异常
*** 处理异常 except Exception[as reason]:
出现异常(exception)后的处理代码
else:
没有异常后被执行的代码 在上述语法中,如果一旦检测到try语句块中有任何异常,程序就会根据异 常类型跳转到except处执行对应异常类型的处理代码,最后终止程序的执行; 如果在try语句块中没有检测到任何异常,程序在执行完try语句块里的代码 后,跳转到else处执行里面的代码。
相关文档
最新文档