Python教程9
Posted jun1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ex try: print(input_password()) # 提示不用try去捕获异常,此行代码报什么错误 except Exception as result: print(result)
以上是关于Python教程9的主要内容,如果未能解决你的问题,请参考以下文章
markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章