Python中的一些异常
其实异常就是不正常,就是不和我们想象一样去执行。它是因为程序出现了错误而在正常控制流以外采取的行为。Python出现异常,就是因为检查了一个错误时,Python解释器无法继续继续执行下去,这时候抛出了异常。往往这个错误分为语法上和逻辑上(不擅长说概念,-_-! ),看看几个例子,总结一下:
1、NameError:尝试访问一个未声明的变量
任何可访问的变量必须在名称空间列出,访问变量需要由解释器进行搜索,如果请求的名字没有在任何名称空间里找到,那么将会生成一个 NameError异常
2、ZeroDivisionError:除数为零
任何数值被零除都会导致一个ZeroDivisionError的异常
3、SyntaxError:Python解释器语法错误
SynaxError异常是唯一不是在运行时候发生的异常,它表示Python代码中有不正确的结构,因此无法正常执行。很明显,这个错误是在编译时候产生的,Python解释器无法将该脚本转化为Python字节代码。
4、IndexError:请求的索引超出了序列范围
举例子:
>>> aList = [1 ,3]
>>> aList[0]
1
>>> aList[1]
3
>>> aList[2]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
5、KeyError:请求一个不存在的字典关键字
字典中用key访问value,如果使用不存在的key,就是抛出KeyError异常
>>> aList ={'a':1,'b':2}
>>> aList['a']
1
>>> aList['c']
Traceback (most recent call last):
File "", line 1, in
KeyError: 'c'
6、IOError:输入/输出错误
如果尝试打开一个不存在或者无权限的文件等操作,就会引发操作系统I/O错误。这个错误可以多种
7、AttributeError:尝试访问未知对象属性
8、ValueError:赋值异常
例如:
>>> int(123.23)
123
>>> int('a')
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid literal for int() with base 10: 'a'
由于参数的值是字符,不可转化为整形。同时还有类似的TypeError类似的异常。
上面只是一部分,对于异常情况,无论是在任何编程语言中都很重要,作为程序员,不仅要懂得怎么去检测这些异常,还应该具备异常发生时采取可靠补救措施的能力。
一如既往,作为记录,仅此而已。
相关文档:
时常见到一些好的Python模块,如果不随时记下,等用的时候又是一阵乱翻,好在Python引用一个模块极其方便,OK,废话少说:
1. decimal
标准模块,2.4引入,用于浮点数的精确表示:
>>> 0.1 + 0.1 + 0.1 - 0.3
5.5511151231257827e-17
>>> from decimal import Decimal
>>> def _(x): retu ......
初学python,现在要读一个二进制文件,查找doc只发现file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个字节的还行,要想读写如int,double等多字节数据就不方便了。在网上查到一篇贴子,使用struct模块里面的pack和unpack函数进行读写。下面就自己写代码验证一下。
>>> from struct ......
关键字: python com 报告
http://appofis.javaeye.com/blog/417446
python 操作ms office 生成报告相关总结
I. 项目中需要生成word和excel报告,通常有两种方法:基于字符串拼接以及COM调用。
1) 字符串拼接生成office文档的原理: office文档本身可以体现为xml文件格式,尤其是MS Excel
2003,我们可以自己将一 ......
http://www.cnblogs.com/Jedimaster/archive/2007/02/28/660209.html
朋友的家人做生意,每日从各地分店处收集报表,然后回去汇总。由于不想用那种复杂的管理软件,就叫他写一个小工具。于是他找到了我,让我想想办法。
Python是个令人惊奇的工具,而不仅仅是一种语言。对比老牌的Perl,看似Python不是那么的精通 ......
http://www.autohotkey.com/forum/topic53773.html
Q:I am searching for is a way to execute AHK commands from a Python script. Is this possible?
A:Yes. Here is an example.
tested with python2.6, requires AutoHotkey.dll in the working directory or path...
ahkpython.py:
#Persistent
dllc ......