龙空技术网

软件测试/测试开发丨Python 错误与异常 学习笔记

测试人666 200

前言:

现在大家对“python27打不开”大约比较关心,小伙伴们都需要学习一些“python27打不开”的相关内容。那么小编也在网上搜集了一些关于“python27打不开””的相关资讯,希望大家能喜欢,咱们一起来学习一下吧!

免费领取:测试资料+性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档 - 公众号 - 测试人社区

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:Python 测开27期 - WL - 学习笔记 - python 错误与异常 - 学习笔记 - 测试人社区

python 错误与异常语法错误与定位错误语法错误逻辑错误系统错误

# 错误# 语法错误num = 1if num > 1 # 缺少冒号    print("num>1")  # 结构是: SyntaxError: expected ':'  line 4第四行# 逻辑错误if num >=1:    print("num<=1")  # 实现结果与实际场景逻辑不对elif num>100:    print("num<100")  # 实现结果与实际场景逻辑不对# 系统错误# 如运行是内存泄露、系统错误等引起的运行失败
异常程序执行过程中出现的未知错误语法和逻辑都是正常的程序业务逻辑不完善引起的程序漏洞–bug错误与异常的区别异常可以被捕获和处理错误一般是编码错误、逻辑错误、系统错误常见的异常类型异常类型:Built-in Exceptions  Python 3.11.4 documentation常见的异常类型

** 除零类型、名称异常、索引异常、键异常、值异常、属性异常等

# 除零异常def div(a,b):    return a/bprint(div(1, 0)) # 异常是:ZeroDivisionError: division by zero# 名称异常# num =1if numb >1:    num =2  # 异常是:NameError: name 'numb' is not defined. Did you mean: 'num'?# 索引异常list = [1,2,3]print(list[4]) # 异常是:ZeroDivisionError: division by zero# 键异常dict1 = {"name":"wlll","age":18}print(dict1['sex']) # 异常是:KeyError: 'sex'# 值异常a = input("请输入一个值:")print(int(a)) # 输入不是数字后,异常是:ValueError: invalid literal for int() with base 10: 'a'# 属性异常# 更新一些常量属性时会抛出的异常
异常/错误处理流程如果是拼写、配置等引起的错误,根据出错信息排查出现的位置进行解决如果是程序设计不完善引起的漏洞,根据漏洞的情况进行设计处理漏洞的逻辑异常捕获、异常处理
def div(a, b):    return a % btry:    print(div(1, 1))  # 正确显示0except Exception as e:    print('此处有异常', e) # 没有异常不显示,有异常显示异常else:    print("哈哈,没有异常") # 没有异常则打印finally:  # 无论是否有异常后还会执行此处    print('finally') # 结果是 finally
使用raise抛出异常使用raise 触发异常并使用exception
def aum(num):    if num <=0 or num >=100:        raise ValueError(f"值错误:{num}")    else:        print(f"设置的年龄为:{num}")print(aum(-1)) # 主动抛出异常:ValueError: 值错误:-1print(aum(80)) # 结果是: 设置的年龄为:80
自定义异常自己继承错误类或方法自己写一个异常定义class MyError(Exception):python复制代码def __init__(self, value):python复制代码 self.value = valuepython复制代码def __str__(self):python复制代码 return repr(self.value)
class MyException(Exception):    def __init__(self, value):        self.value = value        print(f'这是一个异常:{value}')    def __str__(self):        return repr(self.value)def aum(num):    if num <=0 or num >=100:        raise MyException(f"值错误:{num}")    else:        print(f"设置的年龄为:{num}")aum(-55) # 异常抛出:MyException: '值错误:-55'

标签: #python27打不开