Python中使用异常处理的示例
发布时间:2023-12-04 03:15:34
异常处理是在程序执行过程中遇到异常情况时,通过捕获异常并采取相应措施来保证程序的正常执行。Python提供了try-except语句来实现异常处理。
下面是一个使用异常处理的示例,展示了Python中常见的异常情况及相应的处理方法。
# 1. 异常捕获及打印异常信息
try:
num1 = 10
num2 = 0
result = num1 / num2
except ZeroDivisionError:
print("除数不能为零")
# 2. 捕获多个异常类型
try:
lst = [1, 2, 3]
print(lst[3])
result = 10 / 0
except IndexError:
print("索引超出列表范围")
except ZeroDivisionError:
print("除数不能为零")
# 3. 捕获所有异常类型
try:
result = 10 / 0
except Exception as e:
print("发生异常:", e)
# 4. 处理特定异常以及使用else子句
try:
num = int(input("请输入一个整数:"))
result = 10 / num
except ValueError:
print("输入的值不是整数")
except ZeroDivisionError:
print("除数不能为零")
else:
print("计算结果:", result)
# 5. 使用finally子句进行清理工作
try:
file = open("test.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("文件不存在")
finally:
file.close()
# 6. 抛出自定义异常
def divide(x, y):
if y == 0:
raise ValueError("除数不能为零")
return x / y
try:
result = divide(10, 0)
except ValueError as e:
print("发生异常:", e)
# 7. 自定义异常类
class MyError(Exception):
def __init__(self, message):
self.message = message
try:
raise MyError("发生自定义异常")
except MyError as e:
print("自定义异常:", e.message)
以上示例中,我们使用了try-except语句来捕获不同的异常情况,并通过相应的处理代码来处理这些异常。其中,第1个示例演示了捕获ZeroDivisionError异常,并打印相关提示信息。第2个示例捕获了IndexError和ZeroDivisionError两种异常类型,并分别打印相关提示信息。第3个示例使用了Exception作为异常类型,用于捕获所有异常类型,并打印异常信息。第4个示例展示了同时处理多种异常类型,并使用else子句来处理没有发生异常的情况。第5个示例在finally子句中进行了文件的关闭操作。第6个示例抛出了自定义异常,并进行了相应的处理。最后一个示例演示了如何定义一个自定义异常类。
