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

Python中的异常处理函数有哪些,如try、except、finally等?

发布时间:2023-06-05 10:44:05

Python中提供了丰富的异常处理函数来帮助程序在运行时出现异常时,提供错误提示信息,以及进行程序的异常处理。常用的异常处理函数主要包括try、except、finally等。本文将对这些异常处理函数进行详细介绍。

1. try:

try语句是捕获异常的关键字,它主要用来包裹可能会出现异常的代码块。当执行try代码块的时候,如果出现了异常,那么Python就会跳到相应的except块中执行异常处理。

try语句的基本语法格式如下所示:

try:

    # 可能会出现异常的代码块

    pass

except exception1:

    # 当出现异常1时执行的代码块

    pass

except exception2:

    # 当出现异常2时执行的代码块

    pass

except:

    # 其他未知异常时执行的代码块

    pass

在try语句中,可以有一个或多个except子句。except子句可以指定要捕获的异常类型,也可以不指定类型,这将会捕获所有未知类型的异常。

2. except:

except关键字是用来捕获try中可能出现的异常,并进行处理。except有多种形式,包括指定异常类型、以及指定多个异常类型等。

当try语句中出现异常时,Python会根据异常类型来匹配相应的except语句。如果发现匹配的except语句,则执行该except块中的代码。

except语句的基本语法格式如下所示:

# 捕获特定类型的异常

try:

    # 可能会出现异常的代码块

    pass

except exception1 as e:

    print("exception1出现错误:{}".format(e))

except exception2 as e:

    print("exception2出现错误:{}".format(e))

except:

    # 其他未知异常时执行的代码块

    pass

在except子句中的变量e是异常对象,它包含异常的详细信息。在上面的例子中,我们分别将异常1和异常2的错误信息输出。如果需要输出未知异常的错他信息,可以使用不带参数的except语句。

3. finally:

finally块是一个可选块,通常用于在无论是否发生异常的情况下完成某些重要的操作。在finally里面的代码块,无论try块里面的代码是否有异常,都会被执行。

在Python中,finally块一般用于清理打开的文件或者数据库连接,以及释放获得的锁等资源。finally块里面的代码总是会被执行。

finally语句的基本语法格式如下所示:

try:

    # 可能会出现异常的代码块

    pass

except:

    # 异常处理的代码块

    pass

finally:

    # 总会被执行的代码块

    pass

在上面的代码中,finally块即使在try或except语句中遇到了return语句或者异常,也总是会被执行。

4. raise:

raise关键字可以用于在Python中抛出异常。异常在被抛出之后,Python的解释器将会查找异常处理程序(如try...except)来进行处理。

raise语句有两种形式,包括指定异常和不指定异常类型。在指定异常类型时,可以通过多种方式来指定异常的具体类型,例如通过字符串、类名或者类型对象等方式。

raise语句的基本语法格式如下所示:

# 抛出指定类型的异常

raise exceptionType("exception message")

# 抛出未知类型的异常

raise "exception message"

在上面的代码中,异常的类型可以是Python内置的异常类或者自定义的异常类。如果抛出字符串类型的异常,那么异常的类型为TypeError。

5. assert:

assert关键字用于检查某个条件是否为真,如果为假,则会抛出异常。可以将assert语句看作是if语句的缩写形式。如果assert的条件不成立,则会抛出AssertionError异常。

assert语句的基本语法格式如下所示:

assert expression, message

在上面的代码中,message是一个可选的参数,它表示出现错误时要显示的消息。如果省略了message参数,则默认显示AssertionError异常的类型和消息。

6. with:

在Python中,with语句可以在代码块执行完后自动关闭文件和网络连接等资源。通常情况下,我们会使用try...finally语句来处理这种情况,但是使用with语句可以更加简洁和安全。

with语句的基本语法格式如下所示:

with open(filename, 'r') as f:

    # 执行文件处理的代码块

    pass

在上面的代码中,open函数返回的文件对象会被赋值给f变量,并且在with语句执行完毕后,自动关闭文件。

总结:

Python中的异常处理函数有很多,但是在实际开发中,我们主要会使用try、except、finally、raise、assert和with等函数。这些函数可以帮助我们更好地处理程序中出现的异常情况,并降低程序崩溃的风险。在编写代码时,务必要注意异常处理,避免程序因为异常导致崩溃。