欢迎访问宙启技术站
智能推送

Python的错误处理函数:Try和Except详解

发布时间:2023-05-26 01:37:12

Python的错误处理函数——Try和Except是非常重要的基础知识点。在编程过程中,由于各种各样的原因,程序有可能出现错误。如果程序在出现错误时不加处理就直接崩溃,可能会给用户带来不好的体验,甚至会造成数据损失和安全问题。通过使用Try和Except可以对程序出现的错误进行有效的处理,让程序更加稳定健壮。下面将详细介绍Try和Except的用法。

一、什么是Try和Except?

Try和Except是Python中用来进行错误处理的关键字。Try语句块包含了需要被检测的代码,如果代码运行时出现了错误,就会报错。通过Except语句,程序可以捕获这个错误并进行相应的处理,避免程序出现异常情况。

二、Try-Except的语法

try:

    # 一些代码 

except Exception1, Exception2,...:

    # 发生以上异常时执行的代码块 

else:

    # 如果 try 中的代码块没有抛出异常,那么执行这个代码块 

三、Try-Except的使用

1、捕获一个错误类型

如果想要捕获一个特定的错误类型,可以在except后面加上该错误类型。例如:

try: 

    # 计算除数为0时,会产生ZeroDivisionError异常 

    result = 10/0 

    print(result) 

except ZeroDivisionError: 

    print("除数不能为0") 

如果计算中除数为0,就会抛出ZeroDivisionError异常,此时程序就会执行except后的代码块,输出“除数不能为0”。

2、捕获多个错误类型

如果想要捕获多个错误类型,可以在except后面加上多个错误类型,用逗号隔开。例如:

try: 

    # 打开不存在的文件,会产生FileNotFoundError异常 

    with open("test.txt",'r') as f: 

        f.read() 

    # 计算除数为0时,也会产生ZeroDivisionError异常 

    result = 10/0 

    print(result) 

except (FileNotFoundError, ZeroDivisionError): 

    print("出错了") 

如果打开的文件不存在或计算中除数为0,就会抛出FileNotFoundError或ZeroDivisionError异常任意一个,此时程序就会执行except后的代码块,输出“出错了”。

3、捕获所有错误

如果想要捕获所有的错误,可以使用except加上Exception。例如:

try: 

    # 计算除数为0时,会产生ZeroDivisionError异常 

    result = 10/0 

    print(result) 

except Exception as e: 

    print("出错了,错误信息:", e) 

如果进行计算时出现任何错误,这个错误就会被捕获并输出相应的提示信息。

四、Try-Except-Else的使用

Try语句块中的代码,如果没有抛出异常,那么就会执行Else语句块中的代码。例如:

try: 

    # 计算除数为2时,不会产生ZeroDivisionError异常 

    result = 10/2 

except ZeroDivisionError: 

    print("除数不能为0") 

else: 

    print("结果为:", result) 

因为计算中的除数为2,不会产生ZeroDivisionError异常,此时程序就会执行else后的代码块,输出结果“结果为:5.0”。

五、Try-Except-Finally的使用

最后,可以使用Try-Except-Finally来避免资源泄漏。不管是try中代码是否发生异常,finally语句都会被执行。例如:

try: 

    # 打开文件 

    f = open("test.txt", 'r') 

    # 对文件进行读写操作 

    f.read() 

except FileNotFoundError: 

    print("文件不存在") 

finally: 

    # 关闭文件 

    f.close() 

因为打开的文件“test.txt”存在,此时程序不会发生错误,try语句块中的代码都会被执行。不管try语句块中的代码是否报错,finally中的代码都会被执行,这里就是关闭文件。

总结:

Try和Except是Python中用来进行错误处理的关键字,使用它可以有效的避免程序出现异常情况,让程序更加稳定健壮。掌握了Try和Except的使用方法,可以提高代码的可靠性和运行效率。