常见语法错误
- 拼写错误
- 程序不符合Python语法规范
- 缩进错误
try...except...
:捕获单个异常并处理try...except...except...
:捕获多个异常并处理try...except...else...
:捕获异常并处理,如果没异常,执行else块语句try...except...finally...
:捕获异常并处理,finally块一定被执行(除非被强行中断)
- raise语句可以抛出异常:
raise 异常名
raise 异常名, 附加数据
raise 类名
- assert语句:
assert,
:断言为假会抛出AssertionError异常并包含错误信息。
except
:捕获所有异常except
:捕获指定异常except (异常名1, 异常名2)
:捕获异常1或者异常2except as
:捕获指定异常及其附加的数据except (异常名1, 异常名2)
:捕获指定异常1或者异常2及异常附加的数据
Java里面我们也有提及,能不要 catch All 就不要这样处理。就像这里的except语句,直接catch All,但往往是不合适的。
代码测试工作 函数def grade(sum):
"""
>>> grade(90)
'优'
>>> grade(89)
'良'
>>> grade(65)
'及格'
>>> grade(10)
'不及格'
"""
if sum > 100 or sum 90:
return '优'
elif sum > 80:
return '良'
elif sum > 70:
return '中'
elif sum > 60:
return '及格'
else:
return '不及格'
if __name__ == '__main__':
import doctest
doctest.testmod()
单元测试函数
test1.py
def grade(sum):
if sum > 100 or sum 90:
return '优'
elif sum > 80:
return '良'
elif sum > 70:
return '中'
elif sum > 60:
return '及格'
else:
return '不及格'
if __name__ == '__main__':
import doctest
doctest.testmod()
文本文件 test.txt 中保存测试用例:
>>>from test1 import grade
>>> grade(90)
'优'
>>> grade(89)
'良'
>>> grade(65)
'及格'
>>> grade(10)
'不及格'
测试语句:
import doctest
doctest.testfile('test.txt')