Python入门教程(三十一)Python的Try和Except

作者:轻松学Python 时间:2022-02-26 01:21:14 

try 块允许您测试代码块以查找错误。

except 块允许您处理错误。

finally 块允许您执行代码,无论 try 和 except 块的结果如何。

异常处理

当我们调用 Python 并发生错误或异常时,通常会停止并生成错误消息。

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

实例

try 块将生成异常,因为 x 未定义:

try:
 print(x)
except:
 print("An exception occurred")

运行实例

Python入门教程(三十一)Python的Try和Except

由于 try 块引发错误,因此会执行 except 块。

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

实例

该语句将引发错误,因为未定义 x:

print(x)

多个异常

您可以根据需要定义任意数量的 exception 块,例如,假如您要为特殊类型的错误执行特殊代码块:

实例

如果 try 块引发 NameError,则打印一条消息,如果是其他错误则打印另一条消息:

try:
 print(x)
except NameError:
 print("Variable x is not defined")
except:
 print("Something else went wrong")

运行实例

Python入门教程(三十一)Python的Try和Except

Else

如果没有引发错误,那么您可以使用 else 关键字来定义要执行的代码块:

实例

在本例中,try 块不会生成任何错误:

try:
 print("Hello")
except:
 print("Something went wrong")
else:
 print("Nothing went wrong")

运行实例

Python入门教程(三十一)Python的Try和Except

Finally

如果指定了 finally 块,则无论 try 块是否引发错误,都会执行 finally 块。

实例

try:
 print(x)
except:
 print("Something went wrong")
finally:
 print("The 'try except' is finished")

运行实例

Python入门教程(三十一)Python的Try和Except

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

实例

试图打开并写入不可写的文件:

try:
 f = open("demofile.txt")
 f.write("Lorum Ipsum")
except:
 print("Something went wrong when writing to the file")
finally:
 f.close()

运行实例

Python入门教程(三十一)Python的Try和Except

程序可以继续,而且不会打开文件对象。

引发异常

作为 Python 开发者,您可以选择在条件发生时抛出异常。

如需抛出(引发)异常,请使用 raise 关键词。

实例

假如 x 小于 0,则引发异常并终止程序:

x = -1
if x < 0:
 raise Exception("Sorry, no numbers below zero")

运行实例

Python入门教程(三十一)Python的Try和Except

raise 关键字用于引发异常。

你能够定义所引发异常的类型、以及打印给用户的文本。

实例

如果 x 不是整数,则引发 TypeError:

x = "hello"
if not type(x) is int:
 raise TypeError("Only integers are allowed")

运行实例

Python入门教程(三十一)Python的Try和Except

来源:https://blog.csdn.net/ooowwq/article/details/129412386

标签:Python,Try,Except
0
投稿

猜你喜欢

  • SQL Server误区30日谈 第5天 AWE在64位SQL SERVER中必须开启

    2024-01-17 15:25:36
  • Python实现图像随机添加椒盐噪声和高斯噪声

    2023-06-13 22:54:36
  • MySql中特殊运算符的使用方法总结

    2024-01-19 23:27:09
  • 在vue中使用export default导出的class类方式

    2024-04-09 10:48:47
  • python如何解析复杂sql,实现数据库和表的提取的实例剖析

    2024-01-21 06:37:51
  • 浅谈Python实现opencv之图片色素的数值运算和逻辑运算

    2022-06-11 15:58:50
  • python字符串替换re.sub()方法解析

    2022-02-14 16:51:42
  • PHP开发技巧之PHAR反序列化详解

    2023-11-15 02:23:45
  • IE下float产生双倍margin

    2007-12-26 12:29:00
  • windows下Python实现将pdf文件转化为png格式图片的方法

    2022-03-22 08:55:51
  • python实现黄金分割法的示例代码

    2022-08-27 19:41:17
  • 为什么要进行CSS缩写?

    2007-10-29 12:56:00
  • 对python产生随机的二维数组实例详解

    2022-10-29 14:13:28
  • Python3的进程和线程你了解吗

    2023-05-19 00:33:30
  • SQL Data Services将成为云中完整的数据库

    2009-03-25 12:28:00
  • js不能获取隐藏的div的宽度只能先显示后获取

    2024-04-17 10:25:17
  • 星球大战与Python之间的那些事

    2023-05-25 13:49:35
  • Ubuntu18.04下python版本完美切换的解决方法

    2021-08-22 11:24:19
  • 聊聊Druid register mbean error的问题

    2022-09-15 19:09:00
  • python获取当前运行函数名称的方法实例代码

    2023-03-06 15:34:22
  • asp之家 网络编程 m.aspxhome.com