异常的语法结构
异常基本语法以及指定异常;
try: num = int(input("请输入: ")) res = 8 / num print(res) except ValueError: print("请输入数字!") except ZeroDivisionError: print("除0错误!")
未知错误的异常处理代码演示; try: num = int(input("请输入: ")) res = 8 / num print(res) except ValueError: print("请输入数字!") except Exception as result: print("未知错误 %s" % result) else: # 注意这个是没有发生异常才会执行 print("尝试成功!") finally: print("无论是否发生异常都执行的代码!")
print("*" * 50) 测试:
请输入: 0 未知错误 division by zero 无论是否发生异常都执行的代码! **************************************************
和Java一样,也有异常的传递性; def demo1(): return int(input("请输入一个数: "))
def demo2(): demo1()
try: demo2() except Exception as result: print("未知错误 %s" % result)
测试:
请输入一个数: a 未知错误 invalid literal for int() with base 10: 'a' 类似Java中的throw关键字,raise抛出异常对象; def input_password(): pwd = input("请输入密码: ") if len(pwd) >= 6: return pwd raise Exception("密码长度小于8...")
try: input_password() except Exception as result: print(result) 运行结果:
请输入密码: sdf 密码长度小于8...