• 技术文章 >后端开发 >Python教程

    python如何进行异常处理

    silencementsilencement2019-06-24 11:51:07原创1047

    python主要支持五种异常机制,分别举例。

    默认的异常处理器

    s = 'Hello girl!'
    print s[100]
    print 'continue'

    如果我们没有对异常进行任何预防,那么在程序执行的过程中发生异常,就会中断程序,调用python默认的异常处理器,并在终端输出异常信息。这种情况下,第3行代码不会执行。

    try…except

    s = 'Hello girl!'
    try:
     print s[100]
    except IndexError:
     print 'error...'
    print 'continue'

    程序执行到第2句时发现try语句,进入try语句块执行,发生异常,回到try语句层,寻找后面是否有except语句。找到except语句后,会调用这个自定义的异常处理器。except将异常处理完毕后,程序继续往下执行。这种情况下,最后两个print语句都会执行。

    except后面也可以为空,表示捕获任何类型的异常。

    try…finally

    s = 'Hello girl!'
    try:
     print s[100]
    finally:
     print 'error...'
    print 'continue'

    finally语句表示,无论异常发生与否,finally中的语句都要执行。但是,由于没有except处理器,finally执行完毕后程序便中断。这种情况下,倒第2个print会执行,到第1个不会执行。如果try语句中没有异常,三个print都会执行。

    with…as

    with open('nothing.txt','r') as f:
     f.read()
     print 2/0
    print 'continue'

    我们平时在使用类似文件的流对象时,使用完毕后要调用close方法关闭,很麻烦。这里with…as语句提供了一个非常方便的替代方法:open打开文件后将返回的文件流对象赋值给f,然后在with语句块中使用。with语句块完毕之后,会隐藏地自动关闭文件。

    如果with语句或语句块中发生异常,会调用默认的异常处理器处理,但文件还是会正常关闭。

    这种情况下,会抛出异常,最后的print不执行。

    以上就是python如何进行异常处理的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:异常处理
    上一篇:Python中range函数怎么用 下一篇:python中zip是什么意思
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 怎么看python有没有安装pip• python json模块如何使用• python中方法与函数的区别
    1/1

    PHP中文网