本日分享歌曲
歌名:有你的快活文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
歌手:王若琳文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
音量:42%文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
作为 Python 初学者,在刚学习 Python 编程时,时常会看到一些报错信息,在前面咱们没有提及,这章节咱们会专门介绍。文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
借助异样处理机制,乃至在程序崩溃前也能够做一些必要的工作,例如将内存中的数据写入文件、关闭打开的文件、释放分配的内存等。文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
Python 异样处理机制会触及 try、except、else、finally 这 4 个关键字,同时还提供了可主动使程序引起异样的 raise 语句。文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
Python语法过错文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
语法过错,也就是解析代码时呈现的过错。当代码不相符 Python 语法规则时,Python解释器在解析时就会报出 SyntaxError 语法过错,与此同时还会明确指出最先探测到过错的语句。文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
print &文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
Python3.X中 上面示例中这类语法是过错的,所有语法过错提醒:SyntaxError文章源自微观生活(93wg.com)微观生活-https://93wg.com/19818.html
Python运行时过错
运行时过错,即程序在语法上都是正确的,但在运行时产生了过错。
a=1/0print(a)
在 Python 中,把这类运行时发生过错的情况叫做异样(Exceptions)。
当一个程序产生异样时,代表该程序在执行时呈现了非正常的情况,没法再执行下去。默许情况下,程序是要终止的。如果要防止程序退出,可使用捕获异样的方式获取这个异样的名称,再通过其他的逻辑代码让程序继续运行,这类依据异样做出的逻辑处理叫作异样处理。
那么,应当怎么捕获以及处理异样呢?
Python 中,用try except语句块捕获并处理异样,其基本语法结构如下所示:
try: 可能发生异样的代码块except [ (Error1, Error2, ... ) [as e] ]: 处理异样的代码块1except [ (Error3, Error4, ... ) [as e] ]: 处理异样的代码块2except [Exception]: 处理其它异样
从try except的基本语法格式可以看出,try 块有且仅有一个,但 except 代码块可以有多个,且每一个 except 块均可以同时处理多种异样。
try except 语句的执行流程如下:
首先执行 try 中的代码块,如果执行进程中呈现异样,系统会自动生成一个异样类型,并将该异样提交给 Python 解释器,此进程称为捕获异样。
当 Python 解释器收到异样对象时,会寻觅能处理该异样对象的 except 块,如果找到适合的 except 块,则把该异样对象交给该 except 块处理,这个进程被称为处理异样。如果 Python 解释器找不到处理异样的 except 块,则程序运行终止,Python 解释器也将退出。
def getHTMLText(url): headers = { &
事实上,无论程序代码块是不是处于 try 块中,乃至包含 except 块中的代码,只要执行该代码块时呈现了异样,系统都会自动生成对应类型的异样。然而,如果此段程序没有用 try 包裹,又或者没有为该异样配置处理它的 except 块,则 Python 解释器将没法处理,程序就会休止运行;反之,如果程序产生的异样经 try 捕获并由 except 处理完成,则程序可以继续执行。
else引入
在本来的try except结构的基础上,Python 异样处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。
使用 else 包裹的代码,只有当 try 块没有捕获到任何异样时,才会得到执行;反之,如果 try 块捕获到异样,即使调用对应的 except 处理完异样,else 块中的代码也不会得到执行。
try: result = 20 / int(input(&
finally
Python 异样处理机制还提供了一个 finally 语句,通经常使用来为 try 块中的程序做收尾清算工作。
注意,以及 else 语句不同,finally 只请求以及 try 搭配使用,所致于该结构中是不是包括 except 和 else,对于 finally 不是必需的(else 必需以及 try except 搭配使用)。
finally 语句的功能是:不管 try 块是不是产生异样,终究都要进入 finally 语句,并执行其中的代码块。
finally 块的强大还远不止此,即使当 try 块产生异样,且没有适合以及 except 处理异样时,finally 块中的代码也会得到执行。
基于 finally 语句的这类特性,在某些情况下,当 try 块中的程序打开了一些物理资源(文件、数据库连接等)时,因为这些资源必需手动回收,而回收工作通常就放在 finally 块中。
总结
英勇寻求梦想,不断挑战自我,不轻易抛却,坚持到底,就一定能够实现自己的理想以及目标。
以上就是微观生活(93wg.com)关于“「万能Python」-16-过错异样”的详细内容,希望对大家有所帮助!
评论