zoukankan      html  css  js  c++  java
  • python学习(八) 异常

    8.1 什么是异常

    8.2 按自己的方式出错

    如何引发异常,以及创建自己的异常类型。

      8.2.1 raise语句

    >>> raise Exception
    Traceback (most recent call last):
      File "<pyshell#130>", line 1, in <module>
        raise Exception
    Exception

       Exception:    所有异常的基类。

      AttributeError:属性引用或赋值失败时引发

      IOError: 打开不存在的文件(或其他情况)时引发。

      IndexError: 使用序列中不存在的索引时引发。

      KeyError: 使用映射中不存在的键的时候引发。

      NameError: 找不到名字(变量)时引发。

      SyntaxError: 代码语法错的时候引发。

      TypeError:

      ValueError:

      ZeroDivisionError: 除数为0引发。

      8.2.2 自定义异常类

      继承自Exception就可以。

      >>> class SomeCustomException(Exception)

    8.3 捕获异常

    如果想捕获异常,想做一些处理,可以用try/except

    try:
        x = input('Enter x')
        y = input('Enter y')
        print((int)x/(int)y)
    except ZeroDivisionError:
        print('The second umber can not be zero!')

    捕获异常后,可以继续抛出异常,用raise

    8.4 不止一个except子句

    可以捕获多个异常

    except XXX:

       xxxxx

    except YYY:

      fafafa

    8.5 用一个块捕获两个异常

      try:

                   ...

            except(XXX, YYY,...)

        ...

    8.6 捕获对象

     try:

      ...

    excetpt (ZeroDivisionError, TypeError)  as e:       // 捕获到异常,然后打印出来

      ...

    8.7 真正的全捕获

    捕获所有异常:

    except:            // 不声明异常类型,捕获所有异常

      ....

    8.8 万事大吉

    8.9 最后....

    try:

      I/O

    except NameError:

      XXX

    else:

      XXXX

    finally:

      XXXX

    8.10 异常和函数

    8.11 异常之禅

  • 相关阅读:
    直线DDA,直线和圆的Bresenham算法
    Matlab 多项式及其函数
    Matlab M文件变量检测与传递
    Matlab图形绘制
    C# vb .NET读取识别条形码线性条码ean-8
    C# vb .NET读取识别条形码线性条码code39
    C# vb .NET读取识别条形码线性条码EAN-13
    C# vb .NET读取识别条形码线性条码code128
    C# VB .net读取识别条形码线性条码codabar
    一张图看懂SharpBarcode
  • 原文地址:https://www.cnblogs.com/liufei1983/p/7267566.html
Copyright © 2011-2022 走看看