# 错误
# 语法错误
num = 1
if num > 1 # 缺少冒号
print("num>1") # 结构是: SyntaxError: expected ':' line 4第四行
# 逻辑错误
if num >=1:
print("num<=1") # 实现结果与实际场景逻辑不对
elif num>100:
print("num<100") # 实现结果与实际场景逻辑不对
# 系统错误
# 如运行是内存泄露、系统错误等引起的运行失败
# 除零异常
def div(a,b):
return a/b
print(div(1, 0)) # 异常是:ZeroDivisionError: division by zero
# 名称异常
# num =1
if 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 % b
try:
print(div(1, 1)) # 正确显示0
except Exception as e:
print('此处有异常', e) # 没有异常不显示,有异常显示异常
else:
print("哈哈,没有异常") # 没有异常则打印
finally: # 无论是否有异常后还会执行此处
print('finally') # 结果是 finally
def aum(num):
if num <=0 or num >=100:
raise ValueError(f"值错误:{num}")
else:
print(f"设置的年龄为:{num}")
print(aum(-1)) # 主动抛出异常:ValueError: 值错误:-1
print(aum(80)) # 结果是: 设置的年龄为:80
def __init__(self, value):
self.value = value
def __str__(self):
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'
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!?