Python使用try except处理程序异常的三种常用方法分析

  • Post category:Python

Python使用try except处理程序异常的三种常用方法分析

异常异常处理

当 Python 脚本内部执行错误时,将会抛出异常。异常是在程序中出现了错误,导致程序无法继续执行的情况。

Python 内置了处理异常的机制,这样程序员就可以通过检测和捕获运行时错误来继续执行程序。Python 使用 try/except 语句实现异常处理。

三种常用的异常处理方法

在 Python 中,我们通常使用以下三种方法来处理异常:

方法一:无条件异常处理

无条件使用 try/except 处理异常,这种方法适用于我们不知道将会出现的具体异常情况。

try:
    # 程序执行代码块
except Exception as e:
    # 处理异常代码块

方法二:只处理指定异常

有些异常可以被预测或已知,此时我们可以只处理指定的异常。

try:
    # 程序执行代码块
except ValueError as e:
    # 处理 ValueError 异常的代码块 
except NameError as e:
    # 处理 NameError 异常的代码块
except Exception as e:
    # 处理其他异常的代码块

方法三:同时处理多个异常

当程序可能会发生许多不同类型的异常时,将多个异常放在同一个 try/except 代码块中来处理。

try:
    # 程序执行代码块
except (ValueError, TypeError, NameError) as e:
    # 处理多个异常的代码块 
except Exception as e:
    # 处理其他异常的代码块

示例说明

以下是两条Python脚本异常处理的示例说明:

示例一:无条件异常处理

try:
    x = 1 / 0
except:
    print("发生了异常")

在该示例中,我们使用 try/except 块来处理除数为零的异常。程序试图将 1 除以 0,导致了异常的发生。由于我们不知道具体的异常类型,因此我们使用了无条件异常处理的方法。

输出结果为:

发生了异常

示例二:同时处理多个异常

try:
    x = int(input("输入一个整数: "))
    y = 1 / 0
except ValueError:
    print("输入的不是整数")
except ZeroDivisionError:
    print("除数不能为 0")
except:
    print("发生了异常")

在该示例中,我们使用 try/except 块来同时处理输入非整数和除数为零的异常。同时,我们还使用了无条件异常处理的方法来处理其他类型的异常。

输出结果为:

输入一个整数: abc
输入的不是整数

由于输入了一个非整数,因此程序执行 ValueError 异常处理的代码块,并输出了相应的错误提示。