一、错误异常处理
1、错误类型
(1)语法错误
(2)语义错误
(3)逻辑错误
2、处理
(1)try表示尝试识别有异常的代码
格式为try:有可能出现异常的代码
try:
x = 5 / 0
print(x)
except:
print(‘程序遇到错误’)
(2)except表示捕获特定异常的代码
格式为except 异常类型 as 实例
try:
x = 5 / 0
print(x)
except ZeroDivisionError as e:
print(‘不能除零’,e)
except :
print(‘其他错误’)
else:
print(‘没有一场’) #没有异常则执行else
(3)finally表示不管有没有异常都要执行的代码,一般用于释放资源
try:
f.read()
except:
print(‘文件操作遇到错误!’)
finally:
f.close()
(4)raise手动抛出异常
(5)else:未遇到异常时
二、测试
实例一:
import unittest
from main import get_formatted_name
class NameTestCase(unittest.TestCase):
def test_title(self):
formatted_name = get_formatted_name(‘tom’,‘lee’)
self.assertEqual(formatted_name,‘Tom Lee’)
if name == ‘main’:
unittest.main()
—————————————————————————————实例二:
import unittest
from coder import Coder
class CoderTestCase(unittest.TestCase):
def test_skill_in(self):
c =Coder(‘Tom’)
c.mastering_skill(‘Python’)
c.mastering_skill(‘ASP.NET MVC’)
self.assertIn(‘Python’,c.skills)
if name ==‘main’:
unittest.main()