1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python 抛出异常和捕获异常

python 抛出异常和捕获异常

时间:2023-09-12 14:06:36

相关推荐

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()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。