1625-5 王子昂 总结《2016年1月21日》 【连续第113天总结】
A. python异常
windows核心编程
B. try语句有两种主要形式:try-expect和try-finally,还可以使用try-except-finally
一个try语句可以对应一个或多个except子句,但只能有一个finally子句
except语句用来处理“当某种异常发生”的状况,也可以使用else子句来处理无异常发生的状况
finally语句则只是用来检测异常和清除功能,即无论是否发生异常都将执行finally
except语句:
当需要对不同的错误做出不同的反应--例如区分值错误和类型错误的返回信息时,可以使用多个except语句
而一个except语句也可以包含多个错误类型,只需要将它们放入一个元组里即可
eg: except (ValueError, TypeError): ……
可以将错误原因保存在一个变量中,只要在except语句的错误类型后添加变量名称即可,以','分隔
Exception表示所有异常类型(除了SystemExit和KeyboardInterrupt)(前者是当前python程序需要退出,后者是用户按下CTRL+C想要关闭Python),而BaseException则代表包括上述两种的异常类型,与空except语句相同。推荐不适用空Except语句,因为这是不加辨别的粗暴方式,不利于检查识别处理错误
避免在Try语句内包含大量代码,然后不做任何处理的直接过滤掉。它是用来提示错误或处理错误的机制,请善用
另外一种异常处理方法就是使用with语句,它可以更加简化代码:
eg: with open('/etc'passwd','r') as f:
for eachLine in f:
do somthing
它的好处在于,开始调用时使用__enter__方法,然后将返回值赋给变量f
结束或出现异常时使用__exit__方法,将它们在open对象内进行调用,提高了代码复用性
触发异常:
上述异常都是Python解释器自己引发的,有时我们希望自己触发异常来抛给异常处理机制:
raise [SomeException [,args [,traceback]]]
三个参数都是可选的,分别代表触发异常的名字,异常参数和跟踪记录
断言:
断言相当于assert宏,就是判定表达式,为假则抛出一个特定种类(AssertionError)的异常
格式为 assert expression [, arguments]
eg: try:
assert 1 == 0, "One does not equal zero silly!'
except AssertionError, args
print '%s:%s' %(args.__class__.__name__, args)
C. 明日计划
看了windows核心编程的前言,突然学长来了作业=。=先去装双系统,明天再看书好了 明早还要去考驾照,得早点儿睡
python一章
windows核心编程