错误异常类型:
1、NameError :尝试访问一个没有申明的变量
2、ZeroDivisionError:除数为0
3、SyntaxError:语法错误
4、IndexError:索引超出序列范围
5、KeyError:请求一个不存在的字典关键字
6、IOError:输入输出错误(比如你要读的文件不存在)
7、AttributeError:尝试访问未知的对象属性
8、ValueError:传给函数的参数类型不正确,比如给int()函数传入字符串形
异常捕获、处理:
1、try...except...语句:首先,执行try子句(在关键字try和关键字except之间的语句);如果没有异常发生,忽略except子句,try子句执行后结束;如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码;如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中
2、try ... except...else语句:当没有检测到异常的时候,则执行else语句
3、try ... except...else...finally:无论是否检测到异常,都会执行finally的一段代码
assert&raise:
1、断言(assert):语法--assert expression[,reason],执行该语句的时候,先判断表达式expression,如果表达式为真,则什么都不做;如果表达式不为真,则抛出异常
2、抛出异常(raise):语法--raise [SomeException [, args [,traceback]],第一个参数,SomeException必须是一个异常类,或异常类的实例;第二个参数是传递给SomeException的参数,必须是一个元组;第三个参数traceback很少用,主要是用来提供一个跟中记录对象(traceback)
网友评论