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 "有没有错误都执行"

 

posted @ 2018-10-14 20:47  yujin123456  阅读(104)  评论(0编辑  收藏  举报