编写一个程序,利用异常处理器来处理非数值操作数;然后编写一个不使用异常处理器的程序达到相同的目的。程序在退出之前应该显示一条消息,通知用户发生了操作数类型错误
时间: 2023-06-09 13:05:44 浏览: 49
好的,我明白了。让我来回答您的第一个问题。
使用异常处理器的程序:
```python
try:
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
result = num1 / num2
print("结果为:", result)
except ValueError:
print("输入的不是数字!")
except ZeroDivisionError:
print("除数不能为0!")
finally:
print("程序执行完毕。")
```
不使用异常处理器的程序:
```python
num1 = input("请输入第一个数字:")
num2 = input("请输入第二个数字:")
if not num1.isdigit() or not num2.isdigit():
print("输入的不是数字!")
else:
num1 = float(num1)
num2 = float(num2)
try:
result = num1 / num2
print("结果为:", result)
except ZeroDivisionError:
print("除数不能为0!")
finally:
print("程序执行完毕。")
```
两个程序的作用都是输入两个数字,计算并输出它们的商,但是使用异常处理器的程序更加简洁和易读,也更加安全。如果用户错误地输入了非数值操作数,使用异常处理器的程序会捕捉到该问题并给出相应的错误提示,而不是直接崩溃。这保证了程序的稳定性和可靠性。