从键盘输入两个数,求他们的商。要求除数输入0或者字母时(非检查性异常,系统会自动捕捉到),会出现异常。此时采用try-catch-finally的形式对异常进行处理。使用多重catch处理算术异常,输入格式异常。(不可以使用if语句来判断除数是否为0或字母)
时间: 2023-11-22 17:51:48 浏览: 50
使用try-catch-finally处理异常
下面是 Python 代码实现:
```python
try:
dividend = float(input("请输入被除数:"))
divisor = float(input("请输入除数:"))
result = dividend / divisor
print("商为:", result)
except ValueError:
print("输入格式错误!")
except ZeroDivisionError:
print("除数不能为0!")
finally:
print("程序结束!")
```
首先,使用 `try` 关键字将可能出现异常的语句块包裹起来,如果其中的语句出现异常,则会跳转到相应的 `except` 块进行处理。在这个例子中,我们使用了两个 `except` 块,分别用于处理值错误和除数为0的情况。如果没有出现异常,则会执行 `try` 块后的语句,即输出商的结果。
此外,我们还在代码末尾添加了一个 `finally` 块,用于在程序执行完毕后进行清理工作。无论是否有异常发生,`finally` 块中的语句都会被执行。
阅读全文