1 # 异常捕获的完整语法 2 try: 3 # 定义接收的整数 4 num = int(input("请输入一个整数:")) 5 6 # 8除以接收的整数 7 result = 8 / num 8 9 # 捕获异常的语法 10 # except 错误类型1 11 except ZeroDivisionError: 12 print("不能除0") 13 # except (错误类型2,错误类型3) 14 15 #except 未知错误 考虑不到的错误 16 except Exception as result: 17 print("未知错误") 18 19 else: 20 #没有异常才会执行的代码 21 print(result) 22 finally: 23 #无论有没有异常都会执行的代码 24 print("无论有没有异常都会执行的代码") 25 26 27 # 异常传递 28 # 当函数/方法执行出现异常,会将异常传递给调用的一方 29 def demo1(): 30 return int(input("请输入一个整数:")) 31 32 def demo2(): 33 return demo1() 34 35 try: 36 print(demo2()) 37 except ValueError: 38 print("请输入一个正确的整数") 39 40 41 # 主动抛出异常 42 def input_password(): 43 # 1.提示用户输入密码 44 password = input("请输入密码:") 45 # 2.如果密码长度大于8则返回密码 46 if len(password) >= 8: 47 return password 48 # 3.如果小于8则抛出错误 49 print("主动抛出异常") 50 ex = Exception("密码长度不够") 51 raise ex 52 53 try: 54 print(input_password()) 55 except Exception as result: 56 print(result)
结果显示
请输入一个整数:0 不能除0 无论有没有异常都会执行的代码 请输入一个整数:0 0 请输入密码:12345678 12345678