`
varsoft
  • 浏览: 2509792 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

StandardError 和 LookupError

阅读更多

赖勇浩(http://laiyonghao.com)

今晚没事,就读了一下 python manuals,找到了几个之前没疏忽的知识点,其中就有 StandardError 和 LookupError。

StandardError

StandardError 继承自 Exception,它是除了 StopIteration、GeneratorExit、KeyboardInterrupt 和 SystemExit 之外的所有内置异常类的父类。之前我常用 except Exception 来捕获我想广泛关注的异常,现在想来,其实是不对的。虽然我用 except Exception 这样的代码很少,但这很少的情境里,大部分应该用 except StandardError。

LookupError

我不知道大家有没有写过这样的代码。。

某年某月某日,t 的类型从 list 之类的序列容器改成了 dict,太操蛋了,要把所有的 IndexError 都改为 KeyError。我做过几次这种事,当时把龟叔暗骂了若干次……好吧,现在我知道这是我的错了。LookupError 是 IndexError 和 KeyError 的基类,也就是说如果上面的代码是 except LookupError 的话,t 的类型变了也不用改代码。哇呒~

嗯,今晚看手册,除了这个收获以后,还有一些其它的知识点,不过现在太晚了,我改天再说吧。

嗯,真是温故知新啊,手册要多读!

分享到:
评论

相关推荐

    Google C++ International Standard.pdf

    6.4 Name lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.5 Program and linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

    python搭建与量化金融

    在安装tushare时,应该在系统命令提示符而非Anaconda Prompt中执行`pip install tushare`,因为后者可能会导致编码错误"Fatal Python error:init_sys_streams:can’t initialize sys standard streams LookupError: ...

    Android代码-Cacheable-Network

    Cacheable-Network A Cacheable Network Library For Android Application Intro ...Supports both (Standard): XML / JSON RESTful Service JSON-RPC Service Usage in your top level bui

    C++ 标准 ISO 14882-2011

    - C++和ISO C(C++ and ISO C)、C++和ISO C++ 2003(C++ and ISO C++ 2003)、C标准库(C standard library)讨论了C++与其他标准和版本之间的兼容性问题。 附录D. 兼容性特性(Compatibility features) - 增量...

    Python:通用异常类型表

    7. **StandardError**:所有的内建标准异常的基类,它本身是Exception的子类,包含了所有非系统退出和非键盘中断的错误。 8. **ArithmeticError**:所有数值计算错误的基类,包括以下子类: - **...

    Python异常继承关系和自定义异常实现代码实例

    - `LookupError`: 指查找错误,如`IndexError`和`KeyError`。 - `MemoryError`: 内存不足时抛出。 - `SyntaxError`: 语法错误,如`IndentationError`和`TabError`。 - `TypeError`: 类型错误。 - `ValueError`:...

    Python异常处理知识点总结

    - `LookupError`:无效数据查询的基类,包括`IndexError`(序列索引越界)和`KeyError`(字典键不存在)。 - `MemoryError`:内存溢出错误。 - `NameError`:未声明或初始化的对象引用。 - `UnboundLocalError`:...

    UNIX环境高级编程英文第三版+源码

    Contents Foreword to the Second Edition xix Preface xxi Preface to the Second Edition xxv ...B.2 Standard Error Routines 898 Appendix C. Solutions to Selected Exercises 905 Bibliography 947 Index 955

    python2.6库函数参考手册

    - **StandardError**: 所有非系统退出的异常的基类。 - **ArithmeticError**: 所有数值计算错误的基类。 - **FloatingPointError**: 浮点运算错误时抛出。 - **OverflowError**: 数值太大而不能表示时抛出。 - **...

    Python的异常名称友情推荐!

    #### `StandardError` - **描述**:所有内建的标准异常的基类,但这个类在Python 3中已被移除。 - **应用场景**:在Python 2中,用于处理标准错误。 #### 数值计算异常 - **`ArithmeticError`** - **描述**:所有...

    对Python中内置异常层次结构详解

    - `StandardError`: 这个类已经不再使用,但在一些旧的代码中可能还能看到,现在它的子类直接继承自`Exception`。 - `BufferError`: 与缓冲区相关的错误,如数据长度不合适。 - `ArithmeticError`: 数学运算中的...

    python try 异常处理(史上最全)

    - **StandardError**: 所有的内建标准异常的基类。 - **ArithmeticError**: 所有数值计算错误的基类。 - **FloatingPointError**: 浮点计算错误。 - **OverflowError**: 数值运算超出最大限制。 - **...

    VC++6.0核心编程源码.rar

    一般来说,该应用程序用于显示调试程序的Watch窗口和Error Lookup程序是如何运行的。当你启动该程序时,就会出现下面这个窗口。 见原书P9的插图 你可以将任何错误代码键入该编辑控件。当你单击Look Up按钮时,在...

    jsp mvc实现

    JSP页面通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签来展示由Model层传递的数据。例如,我们可以创建一个显示用户信息的`showUser.jsp`页面: ```jsp ;charset=UTF-8" ...

    Python中的异常处理try/except/finally/raise用法分析

    | StandardError | 所有的内建标准异常的基类 | | ArithmeticError | 所有数值计算错误的基类 | | FloatingPointError | 浮点计算错误 | | OverflowError | 数值运算超出最大限制 | | ZeroDivisionError | 除(或取模...

    vxworks_kernel_programmers_guide_6.9

    Error Detection and Reporting Policy Hooks ............................................... 18 Task Switch Hook Support .............................................................................. 18...

    The C Programming Language(2nd Edition).pdf

    - **7.1 标准输入输出**(Standard Input and Output) - 介绍标准输入输出流。 - **7.2 文件**(Files) - 讲解文件的基本操作。 - **7.3 字符读写**(Characters) - 介绍如何读写字符。 - **7.4 行读写**...

    ICS delphixe10源码版

    ICS - Internet Component Suite - V8 - Delphi 7 to RAD Studio 10 Seattle ======================================================================= (Aka FPIETTE's Components) Revised: March 3, 2016 ...

    2009 达内Unix学习笔记

    命令和参数之间必需用空格隔开,参数和参数之间也必需用空格隔开。 一行不能超过256个字符;大小写有区分。 二、特殊字符含义 文件名以“.”开头的都是隐藏文件/目录,只需在文件/目录名前加“.”就可隐藏它。...

Global site tag (gtag.js) - Google Analytics