zoukankan      html  css  js  c++  java
  • 廖雪峰Python总结5

    1.错误,调试和测试

    • 程序编写造成了bug(必须修复)
    • 用户输入出错(通过检查用户输入)
    • 异常:无法在程序运行过程中预测的。异常是必须被处理的,否则程序会因为各种问题终止并且退出

    1.try:

    try:
        print("try.....")
        r=10/0
        print('result:',r)
    except ZeroDivisionError as e:
        print('except:',e)
    finally:
        print('finally...')
    print('End')

    try如果执行出错,则后续代码不会继续执行,而是直接跳转到错误代码处。如果except捕捉到错误,则执行该except代码块,执行完后,如果有finally语句块,则执行finally语句块,然后结束。

    当except后面语句后面有else且没有错误发生,则执行else语句块。

    Python所有的错误都是由BaseException类派生的,如果错误由前面的except捕捉到了,则错误即使符合后面的except类型,也不会被检测到的。

    Python异常基础图:

    BaseException
     +-- SystemExit
     +-- KeyboardInterrupt
     +-- GeneratorExit
     +-- Exception
          +-- StopIteration
          +-- StopAsyncIteration
          +-- ArithmeticError
          |    +-- FloatingPointError
          |    +-- OverflowError
          |    +-- ZeroDivisionError
          +-- AssertionError
          +-- AttributeError
          +-- BufferError
          +-- EOFError
          +-- ImportError
          |    +-- ModuleNotFoundError
          +-- LookupError
          |    +-- IndexError
          |    +-- KeyError
          +-- MemoryError
          +-- NameError
          |    +-- UnboundLocalError
          +-- OSError
          |    +-- BlockingIOError
          |    +-- ChildProcessError
          |    +-- ConnectionError
          |    |    +-- BrokenPipeError
          |    |    +-- ConnectionAbortedError
          |    |    +-- ConnectionRefusedError
          |    |    +-- ConnectionResetError
          |    +-- FileExistsError
          |    +-- FileNotFoundError
          |    +-- InterruptedError
          |    +-- IsADirectoryError
          |    +-- NotADirectoryError
          |    +-- PermissionError
          |    +-- ProcessLookupError
          |    +-- TimeoutError
          +-- ReferenceError
          +-- RuntimeError
          |    +-- NotImplementedError
          |    +-- RecursionError
          +-- SyntaxError
          |    +-- IndentationError
          |         +-- TabError
          +-- SystemError
          +-- TypeError
          +-- ValueError
          |    +-- UnicodeError
          |         +-- UnicodeDecodeError
          |         +-- UnicodeEncodeError
          |         +-- UnicodeTranslateError
          +-- Warning
               +-- DeprecationWarning
               +-- PendingDeprecationWarning
               +-- RuntimeWarning
               +-- SyntaxWarning
               +-- UserWarning
               +-- FutureWarning
               +-- ImportWarning
               +-- UnicodeWarning
               +-- BytesWarning
               +-- ResourceWarning

    抛出错误

    有python的内置错误类型(ValueError, TypeError),我们自己也可以定义错误类型。

    Python内置的try...except....finally用来处理错误十分方便,出错时,会分析错误信息并且定位错误发生的代码位置才是最关键的。

    程序也可以主动抛出错误,让处理者来处相应错误,但是应该在文档中写清楚可能会抛出哪些异常,以及错误产生的原因。

    调试:

  • 相关阅读:
    字符串练习
    Python基础
    熟悉常见的Linux命令
    大数据概述
    实验三 递归下降分析法
    简化C语言文法
    实验一 词法分析程序实验
    词法分析程序
    制作首页的显示列表
    完成登录功能
  • 原文地址:https://www.cnblogs.com/pythonlearing/p/9755054.html
Copyright © 2011-2022 走看看