美文网首页python学习
python学习笔记-异常<10>

python学习笔记-异常<10>

作者: freedom_smile | 来源:发表于2017-01-03 18:11 被阅读32次

    <h3>1. 遇到的常见的异常:</h3>
    SyntaxError 语法错误
    NameError 未声明/初始化对象
    TypeError 对类型无效的操作
    KeyError 字典中查找不存在的键
    IOError 输入/输出操作失败
    IndexError 序列中没有此索引
    ImportError 导入模块/对象失败

    <h3>2. 异常捕抓:</h3>
    <h5>try......except</h5>
    用来检测语句中的错误,从而让except语句捕获异常并处理
    try后面接的语句一旦出现异常错误后面的语句将不执行
    <h5>except Error as reason:</h5>
    是把异常的原因给reason这个变量

    <pre>

    -- coding:utf-8 --

    try:
    f = open('abcdefg','r')
    except IOError as reason:
    print '文件操作错误',reason

    输出:
    文件操作错误 [Errno 2] No such file or directory: 'abcdefg'
    </pre>

    <h3>3. 异常处理:</h3>
    <h5>try.......finally</h5> finally后面的语句就是无论异常是否发生都会执行的语句

    <pre>

    -- coding:utf-8 --

    try:
    f = open('abcdefg','w')
    f.write('Hello python')
    f.read()
    except IOError as reason:
    print u'文件操作错误',reason
    finally:
    f.close()
    print u'异常处理'
    输出:
    文件操作错误 File not open for reading
    异常处理
    </pre>

    <h3>4. 触发异常:</h3>
    <h5>raise[Exception]</h5>
    使用raise语句自己触发异常,并且raise后面的语句不再执行

    <pre>

    -- coding:utf-8 --

    try:
    print 123
    raise IOError('oooooo')
    print 234
    except IOError,NameError:
    print u'文件操作错误',NameError
    finally:
    print 'python'

    输出:
    123
    文件操作错误 oooooo
    python
    </pre>

    <h3>5. 断言</h3>
    assert条件:用来申明某个条件是真的,如果条件是假的则会跑出AssertionError异常
    <pre>

    assert 1 > 2
    Traceback (most recent call last):
    File "<pyshell#0>", line 1, in <module>
    assert 1 > 2
    AssertionError
    assert 1 < 2
    </pre>

    <h3>6. 示例</h3>
    <pre>

    -- coding:utf-8 --

    try:
    filename = 'm.py'
    f = open(filename)
    except IOError as x:
    xx = raw_input(u'文件不存在,是否创建这个文件? (Y/N)')
    if xx == 'Y':
    f = open(filename,'w+')
    print u'已为您创建了文件 %s现在可以对f文件对象进行读写的操作' % filename
    finally:
    f.close()
    输出:
    文件不存在,是否创建这个文件? (Y/N)Y
    已为您创建了文件 m.py现在可以对f文件对象进行读写的操作
    </pre>

    相关文章

      网友评论

        本文标题:python学习笔记-异常<10>

        本文链接:https://www.haomeiwen.com/subject/rzlnvttx.html