python 异常处理

异常处理的几种方式

try...except try 子句中的代码块包含可能会引发异常的语句
而except子句则用来捕捉相应的异常 
如果try子句中的代码引发异常并被except子句捕捉,就执行except子句的代码块
没有出现异常就继续往 下执行异常处理结构后面的代码 
如果出现异常但没有被except捕获,继续往外层抛出
如果所有层都没有捕获并处理该异常,程序崩溃 并将该异常呈现给最终用户
try...except...else  或 try...finally  如果try中的代码没有引发异常,则执行else块的代码
无论try中的代码是否发生异常,也不管抛出的异常有没有被except语句捕获,finally子句中的代码总是会得到执行

自定义异常

可以通过raise语句显式地引发异常(类似JAVA中的throw) 自定义的异常类要继承所有异常的父类
(Exception) raise 抛出的是一个异常的实例化对象

断言(Assert)

对代码运行中的结果进行事先判断,不满足时,抛出异常,方便调试。 
断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况
仅在\__debug__为True有效
使用方法: assert \< expression > [ , arguments] 
当判断表达式expression为真时,什么都不做;如果表达式为假,则抛出异常(显示arguments内容)
等同于: if not \< expression > : raise AssertionError( [arguments] )

上下文管理: with语句

with语句保证with语句结束时,还原with语句执行时的现场
无论是否发生异常 自动管理资源,可以在代码块执行完毕后自动还原现场
常用在文件管理、数据库连接、网络连接、多线 程、多进程同步等场合,总能保证文件被正确关闭 
使用方法: with context_expr [ as var ]


unittest单元测试库

软件测试:软件质量保障的有效措施,尤其在软件升级、代码重构等过程中,应保障不影响原来的用法
常用的软件测试方法:白盒测试、黑盒测试
白盒测试:主要通过阅读程序源代码判断是否符合功能要求
黑盒测试:不关心模块的内部实现方式,只关心其功能是否正确
即通过设计一些测试用例来检验模块的输 入和输出是否正确,最终判断是否符合预定的功能要求
unittest单元测试库:提供大量用于单元测试的类和方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值