最新一直在弄一个抽数项目,用到wxpython,稍微总结一下
原来简单的一句话“在cef 嵌入javascript,并执行”,结果用了2个星期才算初步完成,一些基本的概念没弄懂,以及封装还没来的及做,2个分支合并等等
要说wxpython不就是control event嘛,但顺便也把一些python的基础一并总结
生命周期
__new class__
__init__
事件
错误处理
- 使用try和except语句来捕获异常
try:
block
except [exception,[data…]]:
block
- 用raise语句手工引发一个异常
raise [exception[,data]]
try:
raise MyError #自己抛出一个异常
except MyError:
print 'a error'
raise ValueError,’invalid argument’
- 采用sys模块回溯最后的异常 python
import sys
try:
block
except:
info=sys.exc_info()
print info[0],":",info[1]
- 异常处理的一些其它用途
'''代码来自 getpass 模块,一个从用户获得口令的封装模块。获得口令在 UNIX、Windows 和 Mac OS 平台上的实现是不同的,但是这个代码封装了所有的不同之处。'''
*以上错误处理并没有什么卵用,因为都是网上抄的,实际项目中会希望有一个traceback,比只是简单的catch来的重要很多,哥错了,以后在也不抄作业了
请看一下代码对比,1,2,3选哪个,是很明显的
def readlines(self,name):
try:
...
except Exception, e:
print(e) # 1
info=sys.exc_info()
print info[0],":",info[1] # 2
traceback.print_exc() # 3
return []
代码运行结果: