异常处理和单元测试

异常处理

try—except语句:

try:
    print(8/1)
except ZeroDivisionError as e:
    print("出现了除数为零的情况")
    print(ZeroDivisionError)
    print(e)
#使用try——except语句,不影响程序运行,后续语句可以运行
print("这里可以正常执行"

try—except多个异常:

try:
    print(a/2)

except ZeroDivisionError  :
    print("出现了除数为零的情况")
except NameError:
    print("变量未定义")
#使用try——except语句,不影响程序运行,后续语句可以运行
print("这里可以正常执行")

结果:

变量未定义
这里可以正常执行

try—except——else多个异常:

try:
   x=8/2

except ZeroDivisionError  :
    print("出现了除数为零的情况")
except NameError:
    print("变量未定义")
else:
    print("x=",x)
#使用try——except语句,不影响程序运行,后续语句可以运行
print("这里可以正常执行")

结果:

x= 4.0
这里可以正常执行

finally语句:
没出现异常

try:
   x=8/2
except NameError:
    print("变量未定义")
else:
    print("x=",x)
finally:
    print("此语法无论出现没出现错误都会被执行")
#使用try——except语句,不影响程序运行,后续语句可以运行
print("这里可以正常执行")

输出结果:

x= 4.0
此语法无论出现没出现错误都会被执行
这里可以正常执行

出现异常:

try:
   x=a/2
except NameError:
    print("变量未定义")
else:
    print("x=",x)
finally:
    print("此语法无论出现没出现错误都会被执行")
#使用try——except语句,不影响程序运行,后续语句可以运行
print("这里可以正常执行")

结果:

变量未定义
此语法无论出现没出现错误都会被执行
这里可以正常执行

单元测试:

相当于一个自动化测试的功能。
在test.py文件里

def myabs(x):#计算一个数字的相反数
    if x<0:
        return -x
    else:
        return x

在另一个文件里

import unittest
from test import myabs #需要导入两个模块
class mytest(unittest.TestCase): #创建一个继承类()
    def test_myabs(self): #测试一个负数的情况
        x=myabs(-5)
        self.assertEqual(x,5)
    def test_myabs2(self): #测试一个正数的情况
        x=myabs(5)
        self.assertEqual(x,5)

if __name__=='__main__':
    unittest.main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值