错误与异常处理:
a=1
b=10
try:
print(a)
except (ValueError,NameError) as err:
print("异常信息: {0}".format(err))
else: # 执行无异常,则执行else
print("执行成功,中间无异常出现!")
finally: # 不管try是否执行异常,均会执行
print('这句话,无论异常是否发生都会执行。')
# raise手动触发抛出异常,异常参数必须为Exception或者其子类,例如ValueError
raise ValueError("手动触发异常: {0}".format("b=%d" % b))
1
执行成功,中间无异常出现!
这句话,无论异常是否发生都会执行。
Traceback (most recent call last):
File "D:/Python/PythonWorkspace/PyException.py", line 16, in <module>
raise ValueError("手动触发异常: {0}".format("b=%d" % b))
ValueError: 手动触发异常: b=10
断言:
- assert True # 条件为 true 正常执行
- assert False # 条件为 false 触发异常
assert 1==1
print("assert True # 条件为 true 正常执行!")
assert 1==2
print("assert false # 条件为 false 抛出异常!")
Traceback (most recent call last):
File "D:/Python/PythonWorkspace/PyException.py", line 6, in <module>
assert 1==2
AssertionError
assert True # 条件为 true 正常执行!