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 异常处理的代码块,并输出了相应的错误提示。