# 常规异常处理
try:
num = int(input("请输入一个整数:"))
result = 100 / num
print(result)
except ZeroDivisionError: # 异常类型
print("分母不能为0")
except ValueError:
print("类型 不正确")
except Exception as result: # 未知异常
print("未知错误 %s" % result)
else:
print("没有发现异常, 会执行该部分的代码")
finally:
print("finally: 无论是否发现异常, 都会执行该部分的代码")
# 主动抛出异常
def input_password():
password = input("输入密码:")
if 8 <= len(password) <= 16:
return password
elif len(password) < 8:
exception = Exception("密码长度过短")
raise exception
elif len(password) > 16:
exception = Exception("密码长度过长")
raise exception
try:
print(input_password())
except Exception as result:
print("异常信息: %s" % result)