1、异常if语句处理(抛异常 错误)
具体代码实现:
def division():
num1 = int(input("请输入被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
result = num1//num2 # 执行除法运算
print(result)
if __name__ == '__main__':
division()# 调用函数
运行程序,控制台打印信息:
情况两种:
第一:
非0正常输出
第二:
等0,异常输出:出现报错提示
2、异常if语句处理(无抛异常 错误)
具体代码实现:
def division():
num1 = int(input("请输入被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
result = num1//num2 # 执行除法运算
print(result)
if __name__ == '__main__':
try:# 捕获异常
division()# 调用分苹果的函数
except ZeroDivisionError: # 处理异常
print("输入错误:除数不能为0")# 输出错误原因
运行程序,控制台打印信息:
情况两种:
第一:
非0正常输出
等0 输出,无抛异常错误:
3、异常if–except捕获异常
具体代码实现:
def division():
num1 = int(input("请输入被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
result = num1//num2 # 执行除法运算
print(result)
if __name__ == '__main__':
try: # 捕获异常
division() # 调用函数
except ZeroDivisionError: # 处理异常
print("\n出错了:除数不能为0!")
except ValueError as e: # 处理ValueError异常
print("输入错误:", e) # 输出错误原因
else: # 没有抛出异常时执行
print("程序执行完成……")
运行程序,两种情况:
1、非0状态,程序执行完成……
2、等0状态,提示:出错了:除数不能为0!
4、if–except–finally语句异常处理
具体代码实现:
def division():
num1 = int(input("请输入被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
result = num1//num2 # 执行除法运算
print(result)
if __name__ == '__main__':
try: # 捕获异常
division() # 调用函数
except ZeroDivisionError: # 处理异常
print("\n出错了:除数不能为0!")
except ValueError as e: # 处理ValueError异常
print("输入错误:", e) # 输出错误原因
else: # 没有抛出异常时执行
print("程序执行完成……")
finally: # 无论是否抛出异常都执行
print("释放资源,并关闭")
运行程序,两种情况:
1、非0状态,程序执行完成……
2、等0状态,提示:出错了:除数不能为0!
5、使用raise语句抛出异常
具体代码实现:
def division():
num1 = int(input("请输入被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
if num2 == 0:
raise ValueError("除数不能为0")
result = num1//num2 # 执行除法运算
print(result)
if __name__ == '__main__':
try: # 捕获异常
division() # 调用函数
except ZeroDivisionError: # 处理异常
print("\n出错了:除数不能为0!")
except ValueError as e: # 处理ValueError异常
print("输入错误:", e) # 输出错误原因
运行程序,两种情况:
1、非0状态,程序正常输出数字
2、等0状态,程序正常输出数字,无抛出错误异常
6、使用assert语句抛出异常
具体代码实现:
def division():
num1 = int(input("请输入被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
assert num2 != 0, "除数不能为0" # 应用断言调试
result = num1//num2 # 执行除法运算
print(result)
if __name__ == '__main__':
try:
division() # 调用函数
except AssertionError as e: # 处理AssertionError异常
print("\n输入有误:", e)
运行程序,两种情况:
1、非0状态,程序正常输出数字
2、等0状态,程序正常输出数字