try:
a = int(input("请输入一个整数"))
except:
print("输入不正确")
捕捉不同类型异常
try:
可能出异常的代码
except 异常类型1:
出现异常类型执行的代码
except 异常类型2:
出现异常类型执行的代码
except:
出现未知异常执行的代码
try:
a = int(input("请输入一个整数"))
b = int(input("请输入一个整数"))
print(a / b)
except ValueError:
print("请输入一个可以转化整数")
except ZeroDivisionError:
print("除数不能为0")
except:
print("未知错误")
# ValueError: 输入的值不能转化为整数
# ZeroDivisionError: 除数为0的时候报的错误
try:
num1 = int(input("请输入num1的值"))
num2 = int(input("请输入num2的值"))
op1 = input("请输入op1的值")
if op1 == "+":
print(num1 + num2)
elif op1 == "-":
print(num1 - num2)
elif op1 == "*":
print(num1 * num2)
elif op1 == "/":
print(num1 / num2)
else:
print("op1值不对")
except ValueError:
print("请输入一个可以转化整数")
except ZeroDivisionError:
print("除数不能为0")
except:
print("未知错误")
没有异常发生执行的代码
语法
捕捉未知异常显示系统异常提示信息
无论是否异常都要执行的代码
异常完整语法
try: 可能出现异常的代码 except: 发生异常要处理的代码 else: 没有异常发生要执行的代码捕捉未知异常显示系统异常提示信息
try:
a = int(input("请输入a的值"))
b = int(input("请输入b的值"))
print(a / b)
except Exception as result:
# 捕捉未知异常,把未知异常系统的错误提示显示出来
print(result)
无论是否异常都要执行的代码
try
:
可能出现异常的代码
except
:
出现异常要处理的代码
finally
:
无论是否异常都要执行的代码
try:
a = int(input("请输入a的值"))
b = int(input("请输入b的值"))
print(a / b)
except:
print("异常发生")
finally:
print("不论是否有异常都要执行的代码")
异常完整语法
try:
a = int(input("请输入a的值"))
b = int(input("请输入b的值"))
print(a / b)
except ValueError:
print("请输入正确的整数")
except ZeroDivisionError:
print("除数不能为0")
except Exception as result:
print("未知异常", result)
else:
print("代码没有异常发生")
finally:
print("代码执行完成")
主动抛出异常
- 可以通过代码人为的抛出异常
- 语法
print("开始")
raise Exception("主动抛出的异常")
# 这个异常是自己人为抛出
# 不论什么样的异常,只有不捕捉,代码就会报错终止
print("结束")
# 这里的print执行不了,因为上面一句代码已经抛出异常了,程序终止了
捕捉主动抛出的异常
不管是什么异常
,
都需要代码捕捉
,
不然程序会报错
# 计算器,当用户输入的不是+-*/会抛出异常,并捕捉这个异常
try:
num1 = int(input("请输入整数"))
num2 = int(input("请输入整数"))
op1 = input("请输入+-*/")
if op1 != "+" and op1 != "-" and op1 != "*" and op1 != "/":
raise Exception("请输入正确的+-*/")
if op1 == "+":
print(num1 + num2)
elif op1 == "-":
print(num1 - num2)
elif op1 == "*":
print(num1 * num2)
else:
print(num1 / num2)
except Exception as result:
print(result)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)