五、错误和异常
常见的异常如下:
1)NameError: 尝试访问一个没有声明的变量
2)ZeroDivisionError :除数为0
3)SyntaxError :语法错误
4)IndexError :索引超出序列范围
5)KeyError :请求一个不存在的字典关键字
6)IOError: 输入输出错误(比如要读的文件不存在)
7)AttributeError :尝试访问未知的对象属性
类似JAVA中的try...catch语句,Pyhton中处理异常采用的是try...except语句,用raise抛出异常。遇到多个可能的异常,除了用多个except之外,还可以在一个except后面放多个异常参数,用圆括号包裹起来。
a = raw_input() b = raw_input() try: print float(a) / float(b) except (ZeroDivisionError,ValueError),e: print e</span>
else子句是在执行try而不是except之后又执行的语句。
while 1: a = raw_input() b = raw_input() try: print float(a) / float(b) except Exception,e: print e else: break</span>
而finally子句则是无论执行try还是except之后都要执行的语句。
assert是“断言”之意,等价于布尔真的判定,发生异常就意味着表达式为假。断言应该用于如下情况:
1)防御性的编程。
2)运行时对程序逻辑的检测。
3)合约性检查(比如前置条件,后置条件)。
4)程序中的常量。
5)检查文档。
while 1: a = raw_input() b = raw_input() assert b != 0 c = float(a) / float(b) print c</span>
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-08 12:33:00