#try except try: a = int(input("输入被除数:")) b = int(input("输入除数:")) c = a / b print("您输入的两个数相除的结果是:", c ) except (ValueError, ArithmeticError): print("程序发生了数字格式异常、算术异常之一") except : print("未知异常") print("程序继续运行") #获取错误信息 try: # fis = open("a.txt"); a = 10 b = "a" c = a / b except (TypeError,AttributeError) as e: print("cuowu") print(e.args) # 访问异常的错误编号和详细信息 print("goon") #raise raise ZeroDivisionError raise ZeroDivisionError("除数不能为零") #详细信息 import sys try: x = int(input("请输入一个被除数:")) print("30除以",x,"等于",30/x) except: print(sys.exc_info()) print("其他异常...") #assert断言 assert 1 == 1 a = 2 info = "a的值不为0,a="+str(a) assert a == 0,info
#doctest模块,调用testmod()执行当前py文件中含有测试的内容 #与if __name__=='__main__': 一起用,则只有直接执行该文件会进行测试 def square (x): ''' 一个用于计算平方的函数 例如 >>> square(2) 4 >>> square(3) 9 >>> square(-3) 9 >>> square(0) 0 ''' return x * 2 # ①、故意写错的 class User: ''' 定义一个代表用户的类,该类包含如下两个属性: name - 代表用户的名字 age - 代表用户的年龄 例如 >>> u = User('fkjava', 9) >>> u.name 'fkjava' >>> u.age 9 >>> u.say('i love python') 'fkjava说: i love python' ''' def __init__(self, name, age): self.name = 'fkit' # ②、故意写错的 self.age = age def say(self, content): return self.name + '说: ' + content if __name__=='__main__': import doctest doctest.testmod() #pydoc模块 # python -m pydoc 模块名 # python -m pydoc