zoukankan      html  css  js  c++  java
  • 从一个小案例通俗解释Python中try...except...else...finally异常捕获的过程和注意事项

    一、语法

        try:
            # 尝试执行的代码
            pass
        except 错误类型1:  # 下面几句是排除常见的异常,并进行提示等处理
            # 针对错误类型1,对应的代码处理
            pass
        except 错误类型2:
            # 针对错误类型2,对应的代码处理
            pass
        except (错误类型3, 错误类型4):  
            # 针对错误类型3 和 4,对应的代码处理
            pass
        ...
        ...
        except Exception as result:  # 编程中很难一次排除所有的错误,所有用这个语句,其中result是一个变量。这里相当于一个篮子,装了其他所有错误类型
            # 打印错误信息
            print("未知类型错误:%s" % result)
        else:
            # 没有异常才会执行的代码,作为奖励执行的代码
            pass
        finally:
            # 无论是否有异常,都会执行的代码
            print("无论是否有异常,都会执行的代码")

    注:异常捕获的作用是为了将程序执行过程中出现的bug返回给专业的程序员查看,同时保证整个程序的正常运行,而不会因为bug而终止后续的代码。

    二、下面是一个实例:

    try:
        print(8/int(input("请输入一个非零整数:")))
    except ZeroDivisionError:
        print("除数不能为0")
    except ValueError:
        print("请重新输入")
    except Exception as reason:
        print("未知类型错误:" % reason)
    else:
        print("你真棒,一次就获得正确的结果")
    finally:
        print("不管结果如何,你做了就是好孩纸")
        print("如果你喜欢这段代码,请给我点赞哟,么么哒")

    三、实际开发过程中,如何应用:

    补充概念: 1.异常的传递:当 函数/方法 执行 出现异常,会 将异常传递 给 函数/方法 的 调用一方;2.如果 传递到主程序,仍然
    没有异常处理,程序才会被终止

    **

    所以:

    **

    在开发中,在主函数中增加 异常捕获; 而在主函数中调用的其他函数,只要出现异常,都会传递到主函数的 异常捕获 中 这样就不需要在代码中,增加大量的 异常捕获,能够保证代码的整洁 经常放在 main 中

  • 相关阅读:
    梅州惊魂~
    又寂寞又美好四月物语
    在 usercontrol中链接外部css文件和js文件的方法
    ResolveUrl的用法
    【转载】常见的敏捷开发流程比较
    Google 排名中的 10 个最著名的 JavaScript 库
    颜色大全:颜色名称和颜色值
    ASP.NET2.0中WEB应用程序的部署
    那些相见恨晚的 JavaScript 技巧
    .net网站发布总结之经验-允许更新此预编译站点(转载)
  • 原文地址:https://www.cnblogs.com/xiegalpha/p/9231662.html
Copyright © 2011-2022 走看看