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

Python中最常用的异常处理函数

发布时间:2023-06-06 08:34:24

在Python编程中,异常处理是必不可少的一个环节。异常处理函数是一种机制,能够在程序运行时出现错误时进行操作。Python中最常用的异常处理函数包括try-except语句、try-except-else语句、try-except-finally语句以及raise语句等。下面将逐一介绍这几种异常处理函数的用法和作用。

一、try-except语句

try-except语句是Python异常处理最简单也是最基本的用法。它可以在程序运行时出现异常时捕获并处理异常,从而避免程序崩溃。

基本语法为:

try:
    < 函数或代码块 >
except < 异常类型 >:
    < 异常处理代码块 >

try-except语句中,<函数或代码块>是可能会抛出异常的代码块,而<异常类型>是针对不同类型的异常设计的。当<函数或代码块>运行时出现<异常类型>异常时,就会执行<异常处理代码块>中的代码。

例如,下面的代码块中,如果除数为零时,会发生ZeroDivisionError异常,并执行除以零的提示语句:

try:
    a = 10 / 0
    print(a)
except ZeroDivisionError:
    print("除数不能为零")

输出结果为:除数不能为零

二、try-except-else语句

在try-except语句基础上,还可以使用try-except-else语句。try-except-else语句在try-except语句的基础上增加了一个else代码块,当没有发生异常时,会执行else代码块中的代码。

基本语法为:

try:
    < 函数或代码块 >
except < 异常类型 >:
    < 异常处理代码块 >
else:
    < 没有异常时执行的代码块 >

例如,下面的代码块中,如果除数不为零,则程序正常运行,执行else代码块中的打印语句:

try:
    a = 10 / 2
except ZeroDivisionError:
    print("除数不能为零")
else:
    print(a)

输出结果为:5.0

三、try-except-finally语句

try-except-finally语句是一个更完整的异常处理形式。在try-except-else语句的基础上,借鉴了Java语言中try-catch-finally语句的特点,增加了finally代码块。该代码块中的代码,无论程序是否发生异常,都会被执行。

基本语法为:

try:
    < 函数或代码块 >
except < 异常类型 >:
    < 异常处理代码块 >
finally:
    < 无论异常是否发生都要执行的最终代码块 >

例如,下面的代码块中,无论try代码块是否发生了异常,finally代码块中的打印语句都会被执行:

try:
    a = 10 / 0
except ZeroDivisionError:
    print("除数不能为零")
finally:
    print("程序结束")

输出结果为:除数不能为零,程序结束

四、raise语句

raise语句跟try-except语句不同,它不是处理已知异常,而是创建一个新的异常并抛出。当程序运行时遇到raise语句,程序将立即停止,并且把相关的异常信息打印出来。

基本语法为:

raise < 异常类型 >(< 异常信息 >)

例如,下面的代码块中,定义了一个新的类型异常,并抛出:

class MyError(Exception):
    def __init__(self, value):
        self.value = value
 
    def __str__(self):
        return repr(self.value)
 
try:
    raise MyError("这是一个自定义异常")
except MyError as e:
    print("发生错误:", e.value)

输出结果为:发生错误: 这是一个自定义异常

总结:

Python异常处理是Python编程语言的重要组成部分。无论是刚开始学习Python编程,还是大型生产环境中,异常处理是必不可少的一项技能。在本文中,我们介绍了Python中最常用的异常处理函数,即try-except语句、try-except-else语句、try-except-finally语句和raise语句,并给出了它们的基本语法和用法。掌握这些基本的异常处理技能,可以让代码更加健壮、稳定,提高Python编程的效率和可靠性。