Python 异常处理:try、except、else 和 finally 的使用指南

异常处理

当发生错误(或我们称之为异常)时,Python 通常会停止执行并生成错误消息。

try 块用于测试一段代码是否存在错误。

except 块用于处理错误。

else 块用于在没有错误时执行代码。

finally 块用于无论 tryexcept 块的结果如何都要执行的代码。

可以使用 try 语句来处理这些异常:

1try: 2 print(x) 3except: 4 print("发生了一个异常")

由于 try 块引发了一个错误,因此将执行 except 块。

如果没有 try 块,程序将崩溃并引发错误:

1print(x)

多个异常

您可以定义尽可能多的异常块,例如,如果要为特定类型的错误执行特殊的代码块:

1try: 2 print(x) 3except NameError: 4 print("变量 x 未定义") 5except: 6 print("其他错误")

else

您可以使用 else 关键字来定义一段代码,该代码块将在没有错误引发时执行:

1try: 2 print("Hello") 3except: 4 print("出现了错误") 5else: 6 print("没有出错")

finally

如果指定了 finally 块,不管 try 块是否引发错误,都将执行该块:

1try: 2 print(x) 3except: 4 print("发生了错误") 5finally: 6 print("'try except' 完成了")

这对于关闭对象和清理资源非常有用:

1try: 2 f = open("demofile.txt") 3 try: 4 f.write("Lorum Ipsum") 5 except: 6 print("写入文件时出错") 7 finally: 8 f.close() 9except: 10 print("打开文件时出错")

程序可以继续运行,而不会保持文件对象处于打开状态。

引发异常

作为 Python 开发人员,您可以选择在发生条件时引发异常。

要引发(或触发)异常,请使用 raise 关键字。

1x = -1 2 3if x < 0: 4 raise Exception("抱歉,不能小于零")

raise 关键字用于引发异常。

您可以定义要引发的错误类型以及要显示给用户的文本:

1x = "hello" 2 3if not type(x) is int: 4 raise TypeError("只允许整数")

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

点赞
收藏

评论区

加载中...

相关推荐

一篇文章带你了解JavaScript错误处理

大家好,我是前端进阶者。执行JavaScript代码时,可能会发生意想不到的错误。错误可以是程序员编写的编码错误,由于输入错误引起的错误以及其他不可预见的事情。因此,为了处理错误,JavaScript提供了4个关键字。一、JavaScripttry...catch语句try语句允许定义一个代码块,该代码块在执行时将进行错误测试,catch如果try块中

一篇文章带你了解JavaScript switch

Switch是与if...else...相同的条件语句,不同之处在于switch语句允许根据值列表测试变量是否相等。switch语句用于根据不同的条件执行不同的操作。一、Switch语句使用switch语句选择要执行的多个代码块中的一个。1\.语法switch(expression)casen:codeblock

python 异常处理 try except

什么是异常异常就是程序运行时发生错误的信号,程序随即发生终止行为常见的异常有哪些AttributeError试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError输入/输出异常;基本上是无法打开文件ImportError无法引入模块或包;基本上是路径问题或名称错误IndentationEr

Java 项目中如何使用异常

1.早抛出,晚捕获.2.如果finally语句中有return语句,则finally中的return语句将会覆盖try中的return语句,如以下代码,将会输出1。如果在finally语句里有抛出异常,那么此异常将会覆盖try块中抛出的异常。publicclassFinallyReturnTest{

Python从入门到入土

异常处理tryexcept在Python中,异常处理,主要是tryexcept语句,通常语法格式如下.try:代码块1exceptExceptionase:print(e)代码2try语句按照如下方式工作;首先,执行try子句(在关键字try和关键字except之间的语句)如果没有异常

Python—语法基础(8) 分支、循环结构

分支紧凑格式:<表达式1if<条件else<表达式2分支结构if<条件1:<语句块1elif<条件2:<语句块2……else:<语句块N异常处理try: