zoukankan      html  css  js  c++  java
  • python中的异常

     

    • 如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
    • 如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
    • 如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

    try:

    <语句>        #运行别的代码
    except <名字>:
    <语句>        #如果在try部份引发了'name'异常
    except <名字>,<数据>:
    <语句>        #如果引发了'name'异常,获得附加的数据
    else:
    <语句>        #如果没有异常发生


    例如:
    try:
        fh = open("testfile", "w")
        fh.write("这是一个测试文件,用于测试异常!!")
    except IOError:
        print "Error: 没有找到文件或读取文件失败"
    else:
        print "内容写入文件成功"
        fh.close()


    try:
        正常的操作
       ......................
    except:
        发生异常,执行这块代码
       ......................
    else:
        如果没有异常执行这块代码


    try:
        正常的操作
       ......................
    except(Exception1[, Exception2[,...ExceptionN]]]):
       发生以上多个异常中的一个,执行这块代码
       ......................
    else:
        如果没有异常执行这块代码


    try:
        fh = open("testfile", "w")
        fh.write("这是一个测试文件,用于测试异常!!")
    finally:
        print "Error: 没有找到文件或读取文件失败"

    触发异常:
    raise [Exception [, args [, traceback]]]

    def functionName( level ):
        if level < 1:
            raise Exception("Invalid level!", level)
            # 触发异常后,后面的代码就不会再执行





  • 相关阅读:
    块编程指南
    libxml2:Debug模式可以编译,Distribution下不可以?
    CIO应该考虑的九个外包神话和现实
    【Android游戏开发二十四】360°平滑游戏摇杆(触屏方向导航)
    自定义 UITableViewCell 的 accessory 样式
    提升UNIX安全性的Unix SSH示例配置
    java 跟.net webservice 互通问题
    外包合同中降低成本的战略性技巧
    get post
    Android SAX API: XmlResourceParser及其扩展应用
  • 原文地址:https://www.cnblogs.com/linqiuhua/p/7714213.html
Copyright © 2011-2022 走看看