Python异常处理:全面解析try/except语句

创始人
2024-12-17 23:06:49
0 次浏览
0 评论

Python中程序异常都能被处理吗?

“Exception”是一个代表错误的Python对象。

如果不希望程序在发生异常后自动停止运行,程序员必须主动捕获异常并进行相应的处理。

要捕获异常,可以使用try/except语句。

Try/Accept语句用于检测try语句块中的错误,以便accept语句捕获并处理异常信息。

下面是try/except的例子,解释了如何处理各种异常:

Try:

#othercodeRun

except:

#如果在try部分引发'name'异常

except,:

<语句>#if任何“名称”异常如果引发,则获取附加数据

否则:

#如果没有发生异常

Python预定义了各种标准异常。
基本上涵盖了常见的异常情况,主要包括以下几种。

异常名称描述

BaseException所有异常的基类

SystemExit请求解释器退出

KeyboardInterrupt用户中断执行(通常输入^C)

ExceptionGeneralErrorBaseClass

StopIteration不是Iterator,有更多值​​

Generator退出生成器(generator)发生异常通知退出

StandardError所有内置标准异常的基类

ArithmeticError所有值计算错误的基类

FloatingPointError浮点计算错误

OverflowError数值运算超出最大限制

Zerodivisionerror被零除(或取模)(所有数据类型)

AssertionError断言语句失败

AttributeError对象没有此属性

EOFError无隐式输入,达到EOF标记

EnvironmentError操作系统错误的基类

IOErr或输入/输出操作失败

OSError操作系统错误

WindowsError系统调用失败

导入错误导入模块/对象失败

LookupError数据查询基类无效

IndexError序列中没有这样的索引

KeyError映射中没有这样的键

MemoryError内存溢出错误(对于Python解释器来说不是致命的)

NameError未声明/初始化的对象(无属性)

UnboundedLocalErrorAccess未初始化的局部变量

ReferenceError弱引用试图访问已被垃圾收集的对象

RuntimeError一般运行时错误

NotImplementedError方法尚未实现

语法错误Python语法错误

缩进错误缩进错误

制表符错误制表符和混合空格

系统错误一般解释器系统错误

类型错误类型操作无效

ValueError传递的参数无效

UnicodeErrorUnicode相关错误

UnicodeDecodeErrorUnicode解码错误

UnicodeEncodeErrorUnicode编码错误

UnicodeTranslateErrorUnicode翻译错误

用于警告警告基类

有关已弃用功能的警告

有关将来构造语义更改的未来警告

OverflowWarning长期自动传播有关功能的挂起弃用警告将被移除的警告

RuntimeWarning可疑运行时行为(RuntimeBehavior)警告

SyntaxWarning可疑语法警告

UserWarning代码生成的用户警告

Python系统通过发出信号并停止操作来处理异常。
我不想停下来,我只能自己解决。

无论类型如何,所有异常都执行同一组语句:

Try:正常操作except:当异常发生时,因此执行此代码else:如果执行这段代码没有任何异常

也可以有多个异常经常分享一段代码:

ry:正常操作除外(Exception1[,Exception2[,...ExceptionN]]]):如果出现上述异常之一,则执行这段代码,否则:如果执行,这是一个没有任何异常的块代码

还有一种格式,最后一部分可以是:

try:fh=open("testfile","w")try:fh.write("这是一个测试文件,用于测试异常!!")finally:print"关闭文件"fh.close()exceptIOError:print"错误:不是文件"发现或读取文件失败”

当try块中抛出异常时,立即执行finally块代码。

finally块中的所有语句都执行完毕后,再次触发异常,执行except块代码。

参数内容与异常不同。

除了标准异常之外,我们还可以自己定义异常并处理它们,在这种情况下,我们使用raise语句:

raise[Exception[,args[,traceback]]]

在语句中,异常是任何异常类型(例如,NameError),参数是标准异常以及参数本身。
是提供的异常参数。

最后一个参数是可选的(在实践中很少使用),如果存在,则是跟踪异常对象。

相关异常处理示例如下:

Try:一般语句,包括raise语句

Exception、error:触发自定义异常do

否则:剩余代码

python中出现异常attributeerror是什么异常

Python异常类Python是面向对象的语言,因此程序抛出的异常也是类。
Python常见异常如下。
您只需快速浏览一下,您就会有一个图像。
当你编程时,我相信你会不止一次遇到它们(除非你不再使用Python)。

2.捕获异常

Python完整的异常捕获语句有点像:

try...except语句最简单的形式如下:

上面的except子句后面没有跟任何异常和异常参数,因此任何try捕获到的异常都会交给except子句异常块来处理。
如果我们想处理特定的异常怎么办,比如只想处理被零除的异常,如果出现其他异常,就让其抛出而不处理。
我们应该做什么?这时候我们就要把异常参数传入到except子句中!ExceptionN是我们要赋予except子句的异常类(请参阅异常类表),这意味着如果捕获到该类型的异常,将由该except子句处理。
例如:

希望采纳!

十七、深入Python异常处理

Python中的错误主要有两种类型:语法错误和异常。
语法错误是指代码不符合编程规范而无法被识别和执行的问题。
例如,以下代码由于If语句缺少冒号而无法识别和执行,导致“语法无效”错误。
异常是在程序语法正确并且可以执行的情况下执行过程中发生错误时引发的事件。
常见的异常包括除数不能为0、变量未定义、数据类型运算错误等,如“ZeroDivisionError”、“NameError”、“typeError”。
为了处理异常,Python提供了try-Exception语句。
当try块中发生错误时,except块捕获有关异常的信息并进行处理。
如果没有发生异常,则执行else块后面的语句。
在实际编程中,如果需要抛出异常,可以使用raise语句,并附带异常的类名和附加信息。
当异常不确定时,可以使用“Exception”类进行异常处理。
此外,您可以创建自定义异常类来满足特定需求。
在大型社交网站的后台开发中,在处理用户请求并返回相应记录时,可能会遇到数据库查询结果为JSON字符串的情况。
目前需要使用json库的json.loads()函数进行解码。
但要注意检查输入数据是否符合json格式,以免出现异常。
在处理异常时,可以参考异常类列表来了解Python中常见的异常类型。
这些知识对于提高代码的稳健性和错误处理至关重要。
要深入了解Python异常处理,建议阅读官方文档和参考资料,以获得更全面的知识和技能。
热门文章
1
Python中的format()方法:字... formatformat在python中的含义2222.22E+00Format...

2
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

3
Python爱心绘制教程:使用turtl... python的爱心代码教程(python画爱心代码)绘制心形的Python代码我...

4
Python字符串大小写转换方法全解析 python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...

5
Python字典:轻松获取最小值键与计算... python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...

6
Python字符串去重空格:strip(... Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...

7
Python数组元素数量计算技巧分享 Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...

8
简述python中pass的作用 pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...

9
Python def 关键字详解:函数定... def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...

10
python不区分大小写的方法 Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...