请编写一个捕获异常的小程序:计算二个数的商,分别捕获数组越界、数据格式不 正确、除数为零三种异常
时间: 2023-06-12 15:04:36 浏览: 84
以下是一个Python 3程序,可以计算两个数字的商并捕获三种异常:
```python
def divide_numbers(num1, num2):
try:
result = num1 / num2
except ZeroDivisionError:
print("除数不能为零")
return None
except TypeError:
print("数据格式不正确")
return None
except IndexError:
print("数组越界")
return None
else:
return result
# 测试程序
nums = [1, 2, 3]
print(divide_numbers(nums[0], nums[1])) # 正常情况
print(divide_numbers(nums[1], nums[2])) # ZeroDivisionError
print(divide_numbers(1, "2")) # TypeError
print(divide_numbers(nums[0], nums[5])) # IndexError
```
程序中,我们定义了一个函数`divide_numbers`,在其中进行了除法运算,并且捕获了三种可能出现的异常:`ZeroDivisionError`、`TypeError`、`IndexError`。如果运算出现异常,将会在屏幕上输出相应的错误信息,并返回`None`。如果运算正常,将会返回计算结果。在测试程序中,我们分别测试了程序的正常情况和三种异常情况。
阅读全文