python----异常处理
一、基本语法
try: 代码1 #try内部的代码1如果出错,自动执行当前代码2的内容 except Exception as e: 代码2 #代码1内容不出错,执行代码3 else: 代码3 #代码1内容无论出不出错都会执行代码4 finally: 代码4
e是Exception对象,封装了错误信息
二、常见的异常
Exception的子类有多种:
常见的异常
TypeError 类型错误
NameError 没有该变量
ValueError 不期望的值
AttributeError 没有该属性
UnboundLocalError 没有该局部变量
ImportError 没有该模块
IOError 打不开文件
IndexError 列表没有该下标
KeyError 字典没有该键
IndentationError 代码没有对齐
SyntaxError 语法错误
KeyboardError Ctrl+C被按下
三、主动触发异常
try: raise Exception('提示信息1') #e中的内容为提示信息1 except ··· as e: 代码
四、自定义异常
#!/usr/bin/env python # _*_ coding:UTF-8 _*_ class MyException(Exception): def __init__(self, error): self.error = error def __str__(self): return self.error if __name__ == "__main__": try: raise MyException("自定义错误")#主动触发异常MyException,并返回括号中的内容 except (NameError, ValueError), e: print e print "NameError或者ValueError" except IOError, e: print e print "IOError" except Exception, e: print e print "其他的错误" else: print "没有错误" finally: print "有没有错误都执行"