异常处理
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()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/61409.html