「万能Python」-16-过错异样

小微 科技「万能Python」-16-过错异样已关闭评论109字数 1931阅读模式
摘要今日分享歌曲歌名:有你的快乐歌手:王若琳音量:42%作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。借...

本日分享歌曲

歌名:有你的快活文章源自微观生活(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-过错异样”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/19818.html