python掌握异常处理的几种方式 ,练习使用raise和assert语句,掌握with和as环境安装器的使用,给出实验所有代码
时间: 2024-05-03 11:17:26 浏览: 88
Python异常处理(课件)
5星 · 资源好评率100%
异常处理是Python编程中非常重要的一部分,它可以帮助我们更好地处理程序中可能出现的错误。Python提供了多种处理异常的方式,下面我们来介绍一些常用的方式。
1. try-except语句
try-except语句是Python中最常用的异常处理方式,它可以捕捉代码中可能出现的异常,并在出现异常时执行相应的代码。下面是一个简单的例子:
```python
try:
num = int(input("请输入一个数字:"))
print("10除以该数字的结果为:", 10 / num)
except ValueError:
print("输入的不是数字!")
except ZeroDivisionError:
print("除数不能为0!")
```
在上面的代码中,我们使用了try-except语句来捕捉可能出现的ValueError和ZeroDivisionError异常。如果用户输入的不是数字,则会捕捉到ValueError异常,并输出“输入的不是数字!”;如果用户输入的是0,则会捕捉到ZeroDivisionError异常,并输出“除数不能为0!”。
2. raise语句
raise语句可以在程序中手动触发一个异常,下面是一个简单的例子:
```python
try:
age = int(input("请输入您的年龄:"))
if age < 0:
raise ValueError("年龄不能为负数!")
print("您的年龄是:", age)
except ValueError as e:
print(e)
```
在上面的代码中,如果用户输入的年龄为负数,则会手动触发一个ValueError异常,并输出“年龄不能为负数!”。
3. assert语句
assert语句用于检查程序中的某个条件是否为真,如果为假则会触发一个AssertionError异常。下面是一个简单的例子:
```python
num = int(input("请输入一个正整数:"))
assert num > 0, "输入的不是正整数!"
print("您输入的是:", num)
```
在上面的代码中,如果用户输入的不是正整数,则会触发一个AssertionError异常,并输出“输入的不是正整数!”。
4. with-as语句
with-as语句用于创建一个上下文环境,可以自动管理资源的分配和释放。下面是一个简单的例子:
```python
with open("test.txt", "r") as f:
for line in f:
print(line.strip())
```
在上面的代码中,我们使用with-as语句打开一个文件,并自动管理文件的关闭。在with语句块结束时,文件会自动关闭。
下面是一个综合练习,演示了以上所有异常处理方式的使用:
```python
try:
num1 = int(input("请输入第一个数字:"))
num2 = int(input("请输入第二个数字:"))
assert num2 != 0, "除数不能为0!"
result = num1 / num2
if result < 0:
raise ValueError("结果不能为负数!")
print("两个数字相除的结果为:", result)
except ValueError as e:
print(e)
except ZeroDivisionError as e:
print(e)
except AssertionError as e:
print(e)
finally:
print("程序结束!")
```
在上面的代码中,我们使用了try-except语句捕捉可能出现的ValueError、ZeroDivisionError和AssertionError异常。如果输入的第二个数字为0,则会触发一个AssertionError异常,并输出“除数不能为0!”;如果两个数字相除的结果为负数,则会手动触发一个ValueError异常,并输出“结果不能为负数!”。无论程序是否出现异常,都会执行finally语句块中的代码,并输出“程序结束!”。
阅读全文