2025年python抛出异常和捕获异常_Python异常

python抛出异常和捕获异常_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 抛出异常 raise ValueError error size


抛出异常:

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

编程小号
上一篇 2025-03-03 14:21
下一篇 2025-03-06 11:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/133693.html