Python教程9,,Python教程9
Python教程9,,Python教程9
Python教程9
1.异常
# -*-coding:utf-8-*-"""1.异常:程序运行时,如果python解释器遇到一个错误,会停止程序的执行,并提示一些错误的信息这就是异常2.程序停止执行并且提示错误信息这个动作,我们通常称之为:抛出异常3.程序开发时,很难将所有的特殊情况都处理到,通过异常捕获,可以针对突发事件做几种处理,从而保证程序的稳定性和健壮性""""""捕获异常的语法:1.如果在程序开发中,对某些代码的执行不能确定是否正确,可以增加try()来捕获异常2.语法格式如下:try: 尝试执行的代码except: 出现错误的处理"""# try语法,执行错误不会停止程序的执行try: # 不确定能否正确执行的代码 num = int(input("请输入整数:")) print("你的输入:%d" % num)except: # 错误代码的处理 print("请输入正确的整数")print("-" * 50)# 错误类型的捕获:# 用户输入整数,使用8除以输入整数,并且输出print("错误类型的捕获演示")try: num1 = int(input("请输入整数:")) result = 8 / num1 print(result)except ZeroDivisionError: # 报错类型的第一个单词 print("除0错误")except ValueError: print("请输入正确的整数:")# 捕获未知错误print("捕获未知错误演示----------")try: num2 = int(input("请输入整数:")) result = 8 / num2 print(result)except ValueError: print("请输入正确的整数:")except Exception as result1: print("未知错误 %s" % result1)"""异常捕获的完整语法:try: 尝试执行的代码except 错误类型1 错误处理except (错误类型1,错误类型2) 错误处理except Exception as result: 未知错误处理else: 没有异常时执行的代码finally: 无论是否异常,都会执行的代码"""print("完整异常语法演示----------")try: print("尝试执行。。。。") num3 = int(input("请输入整数:")) result = 8 / num3 print(result)except ValueError: print("请输入正确的整数:")except Exception as result: print("未知错误 %s" % result)else: print("尝试成功")finally: print("无论是否成功,都会执行的代码")
2.异常的传递,主动抛出异常
# -*-coding:utf-8-*-"""异常的传递:当函数/方法执行出现异常,会将异常传递给函数/方法的调用一方如果传递到主程序,仍然没有异常处理,程序才会终止提示: 1.在开发中,可以在主函数中增加异常捕获 2.而主函数调用其他函数,只要出现异常都会传递到主函数的遗产捕获中 3.这样不需要代码中,增加大量的异常捕获,保证代码的整洁"""def demo1(): return int(input("请输入整数:"))def demo2(): return demo1()# 利用异常的传递性,在主程序捕获异常try: print(demo2())except ValueError: print("请输入正确的整数:")except Exception as result: print("未知错误 %s" % result)"""抛出raise异常: 在开发中,除了代码执行出错,python解释器抛出异常错误外,还可以根据应用程序的业务需求,主动抛出异常抛出异常:python中提供Exception异常类1.创建一个Exception对象2.使用raise关键字抛出异常示例:提示用户输入密码,若长度小于8,抛出异常"""print("**********主动抛出异常演示************")def input_password(): # 提示输入密码 pwd = input("请输入密码:") # 判断密码长度>=8 if len(pwd) >= 8: return pwd # 如果<8,主动抛出异常 print("主动抛出异常") # 创建异常对象 ex = Exception("密码长度不够") # 主动抛出异常 raise extry: print(input_password()) # 提示不用try去捕获异常,此行代码报什么错误except Exception as result: print(result)
Python教程9
评论关闭