(09)异常处理

◆ 异常处理机制
    运行时发现错误,进行恢复处理,然后继续执行的能力。异常会由内向外层抛出
    把有可能出现异常的代码放在try模块中
    except 模块接收异常  异常类型要注意一下 这个模块中可以操作一些动作
    finally 无论是否异常,都会执行
    raise 自己定义抛出异常 (注意一下异常类型,要内置有的类型)
   
    filename=raw_input("请输入一个文件")
    try:
        f=open(filename)
    except IOError,msg:
        print "你指定的文件不存在"
    except NameError,msg:
        pass   
    finally
         print 'ok'
        
    if filename=="hello":
        raise TypeError("nothing !!!")   
       
◆ 异常类型
    AssertionError     assert语句失败
    AttributeError     试图访问一个对象没有的属性
    IOError            输入输出异常,基本是无法打开文件
    ImportError        无法引入模块请求包,基本是路径问题
    IndentationError   语法错误,代码没有正确的对齐
    IndexEroor         下标索引超出序列边界
    KeyError           试图访问你字典里不存在的键
    KeyboardInterrupt  Ctrl+C 被按下
    NameError          使用一个还未赋予对象的变量
    SyntaxError        Python代码逻辑语法出错,不能执行
    TypeError          传入的对象类型与要求的不符
    UnboundLocalError  试图访问一个还未设置的全局,基本上是由于别有一个同名的全局变量,导致你以为在访问
    ValueError         传入一个不被期望的值,即使类型正确

原文地址:https://www.cnblogs.com/toby2chen/p/5197396.html