语法错误:拼写错误 不符合语法规范(没有:或者,) 缩进错误
异常的处理:
try:
<语句>
except <异常名1>:
<语句>
except <异常名2>:
<语句>
......................................
else: 未发生异常时获取else
<语句>
finally:
<语句>
没异常的程序无论是否捕捉都可以正常运行,有异常若捕捉异常则不会中断程序:
def testTry(index,flag=False):
stulst = ["John","Jenny","Tom"]
if flag:
try:
astu = stulst[index]
except IndexError:
print("IndexError")
return "Try Test Finished!"
else:
astu =stulst[index]
return "No Try Test Finished!"
print("Right params testing start...")
print(testTry(1,True))
print(testTry(1))
print("Error params testing start...")
print(testTry(4,True))
print(testTry(4))
捕获所有异常则出现任何错误都不会使程序中断,但在程序中应该指明所要捕获的异常。
raise,assert :手工抛出异常 assert 条件为假时成立,不是总运行,内置的一个特殊变量__debug__为True时才运行
自定义异常类:
class MyError(Exception):
pass
用pdb调试程序:
import pdb
pdb.run('''
for i in range(3):
print(i)
''')
pdb.runcall(函数名,参数列表) pdb.runeval(表达式)
if __name__ =='__main__' 表示程序从这里开始
import doctest
testmod() 测试 写在程序中
testfile() 写在文件中