zoukankan      html  css  js  c++  java
  • 13.困难重重

        慢慢的 开始有些感悟了 总感觉自己写程序有些吃力 本以为自己写好了一段代码 并且经过自己的认真检查之后,运行之后却发现事与愿违,一大堆Bug出现。此时的你内心无比崩溃,但是面对这么多行的代码,该怎么去找到错误的地方,并且修改他呢?

        确实在很多情况下,写代码不是一件难的事情,而真正难的是要你去读懂代码的逻辑以及能够快速处理Bug的能力,在设计代码的时候脑海里能有一个很好的结构,使得程序有很好的规范性,不会一团乱糟。修改起来就像无头苍蝇一样。

    其实在PyCharm中有专门用来调错的功能 ---- Debug

    这个功能很重要 在日常工作中基本不可缺失

    在你写好代码之后 右击运行debug 程序会在你错误的地方停留下来。

    当你得知你错误的地方之后 你可以进一步的确定问题所在 并打下断点。

    具体操作和用法需要时间的累计和经验。

    在程序内部捕捉异常

    这个问题很常见,为什么说要捕捉异常呢,在处理一个实际的业务问题中,难免会出现各种各样的问题,有些问题是在我们意料之外,有些问题是在我们计划之中

    但如果说我们没有捕捉异常这一功能,对程序的设计和复杂度就更高了。

    列举常见的8类错误 但是远不止这8类错误:

    1.SyntaxError:语法错误

    2.NameError:试图访问的变量名不存在

    3.IndexError:索引错误,使用的所以你不存在,常为索引超出序列范围

    4.KeyError:使用了映射中不存在的关键字(键)时引发的关键字错误

    5.TypeError:类型错误,内建操作或是函数应于在错误类型的对象时会引发类型错误

    6.ValueError:值错误,传给对象的参数类型不正确,例如给int()函数传入了字符串数据类型

    7.AttributeError:属性错误,特性引用和赋值失败时会引发属性错误

    8.IOError:输入输出错误

    写法:

    1.单个异常捕捉

    try:
        n = a
    except NameError:
        print('访问的变量名不存在')

     2.多个异常捕捉 并且打印具体的异常信息

    try:
        ...
    except Error1  as e:
        print(e)
    except Error2 as e:
        print(e)

    3.完整结构

    try:
        ...
    except exception1:
        ...
    except exception2:
        ...
    except:
        ...
    else:
        ...
    finally:
        ...

    执行的过程为:

     4.自定义抛出异常

    raise 抛出对象

    这里这种方法本身不太具备实际意义 可以理解为Python已经写好了这个对象,如果你想去自定义一个对象让后将他抛出,也是ok的,but我们没必要这么去做。

  • 相关阅读:
    AngularJS各种'service'的区别
    js 斐波那契数列实现
    Mac下Apache+MySQL+PHP开发环境安装过程
    原生封装的js前端工具库(包含了jquery的常用功能)
    BFC 神奇背后的原理
    CSS清浮动处理(Clear与BFC)
    JavaScript实现 页面滚动图片加载(懒加载)
    CodeForce 814B
    排序算法
    uva1610
  • 原文地址:https://www.cnblogs.com/zhouA/p/15712280.html
Copyright © 2011-2022 走看看