python 抛出异常和捕获异常

抛出异常:

class Widget:
    def __init__(self,size=(40,40)):
        self._size=size
    def getSize(self):
        return self._size
    def resize(self,width,height):
        if width<0 or height<0:

#抛出异常
            raise ValueError("error size")
        self._size=(width,height)
        #self代表类的实例,self 在定义类的方法时是必须有的,
        #虽然在调用时不必传入相应的参数
    def add(self,a,b):
        c=a+b
        return c
    def is_prime(self,n):
        if n<=1:
            return false
        #python中的for 循环
        for i in range(2,n):
            if n%i==0:
                #True、False与java不同
                return False
            return True
    def dispose(self):
        pass
if __name__=="__main__":
    a=Widget()
    b=a.add(2,1)
    print(b)
    flag=a.is_prime(3)
    print(flag)

捕获异常:

import unittest
from Widget import Widget

class TestWidget(unittest.TestCase):
    def setUp(self):
        self.widget=Widget()
    def tearDown(self):
        self.widget=None
        print ("测试结束!")
    def test_add(self):
        wg=self.widget
        a=wg.add(1,2)
        self.assertEqual(a,3)
    def test_add2(self):
        wg=self.widget
        a=wg.add(2.5,1.3)
        self.assertEqual(a,3.8)
    def test_resize(self):
        self.widget.resize(20,30)
        self.assertEqual(self.widget.getSize(),(20,30))
    def test_resize2(self):
        try:
            self.widget.resize(-10,10)

#捕获异常
        except ValueError:
                print("error size")
    def test_resize3(self):
        self.widget.resize(0,0)
        self.assertEqual(self.widget.getSize(),(0,0))
if __name__=="__main__":
    #main方法执行所有的测试用例
    unittest.main()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值