2011-3-1 更新。

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

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

StandardError

StandardError 继承自 Exception,它是除了 StopIteration、GeneratorExit、KeyboardInterrupt 和 SystemExit 之外的所有内置异常类的父类。之前我常用写这样的代码:

class MyError(Exception): pass

现在想来,其实是不对的,应该使用 StandardError 作为 MyError 的基类。另外,虽然我用 except Exception 这样的代码很少,不过在这里讲一下,大部分应该用 except StandardError。

LookupError

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

try: i = t[1] except IndexError: i = default

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

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

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

StandardError 和 LookupError相关推荐

  1. LookupError: unknown encoding: uft-8

    这个错误是记录错误类型的,第一次遇到LookupError ,这个是编码格式本来应该是utf-8 自己打字的时候打错了,打成uft-8 了 所以就出现了这个错误.

  2. 编译pqxx源码configure时遇到codecs.py LookupError的解决方法

    之前第一次编译的时候没有出现问题,第二次重新编译时./configure报错: File "/usr/lib/python2.7/posixpath.py", line 73, i ...

  3. 关于LookupError: No installed app with label ‘admin‘.报错的解决

    LookupError: No installed app with label 'admin'. 报错原因:在INSTALLED_APPS中没有找到admin应用 我的项目目录 解决:需要将apps ...

  4. 配置mysql数据库时出再错误:LookupError No installed app with label admin(亲测)

    版本: windows10+py37+django2.2 错误: 项目启动时出现,No installed app with label 'admin' 解决办法: 安装最新的 pip install ...

  5. LookupError: unknown encoding: utf-8

    python打包后运行exe报错:LookupError: unknown encoding: utf-8 pip uninstall enum34 命令卸载掉enum34 这个包,然后删掉之前打包生 ...

  6. LookupError: unknown encoding: cp65001及命令行无法输入中文问题(转)

    今天在win10下装完python和pip后,发现在python中运行任何指令都会报错--"LookupError: unknown encoding: cp65001"的错误提示 ...

  7. LookupError: Resource omw-1.4 not found. nltk3.7查找近反义词解决方法

    在运用nltk3.7查找同近义词时,发现自己运行代码后会报错: LookupError: Resource omw-1.4 not found. 这里解决方式很简单:只需要加一行即可. import ...

  8. 安装Python出现LookupError: unknown encoding: GB2312错误的解决方法

    在Linux源码安装Python的时候,有可能会遇到LookupError: unknown encoding: GB2312错误,这里介绍两种解决方法: 方法一: 这是由于编码的原因,在./conf ...

  9. 终端运行pip提示:LookupError: unknown encoding: cp65001 解决方案

    错误提示 原因 解决方案 持续报错 错误提示 原因 脚本试图打印的Unicode字符不能使用当前控制台字符编码表示, 解决方案 cp65001就是utf-8, 所以需设置环境变量编码格式为utf-8, ...

最新文章

  1. 一种注册表沙箱的思路、实现——注册表的一些基础知识
  2. 万引大佬自曝这样被MIT拒掉:“系里不喜欢你”,找校长对峙后悟了
  3. Java并发——线程间通信与同步技术
  4. linux 自定义目录,linux – cron命令的自定义目录
  5. 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代...
  6. Dubbo-Admin 功能展示与实操解析
  7. java语言中的数据类型_Java语言中关于数据类型的一些总结
  8. Web Application:Exploded和Web Application:Archive
  9. php开发uki引流脚本,UKI引流脚本
  10. Oracle 或关闭中国研发中心(CDC):裁员 1600 人
  11. 防止重复提交表单的两种方法
  12. 【尚硅谷_数据结构与算法】一、数据结构与算法概述
  13. 拓嘉启远:拼多多行家心得评论的作用
  14. 01、如何用DAP仿真器下载程序
  15. 你不知道的 React 最佳实践
  16. MySQL外网连接不上
  17. Kubernetes(K8s)-k8s服务安装
  18. Java实验7《字符串和文本I/O 》
  19. 2021年5月国产数据库排行榜:阿里系“OPA”持续攀升,华为“高斯模式”获成功...
  20. uniapp 监听网络情况

热门文章

  1. 抓包分析php一句话木马
  2. 用java写一个简单的明日方舟抽卡模拟器
  3. 运行yum install -y mssql-server命令时报错:
  4. Android 蓝牙开发
  5. 勿扰模式代码结构简析
  6. Why YY:腾讯负责复制一切 YY负责复制腾讯
  7. Arduino开发小项目—光控灯
  8. 基于单片机的光控路灯设计含程序和仿真图
  9. 学习modbus(八)——单片机RS485通信接口、控制线、原理图及程序实例
  10. 西门子840d高级编程手册_840D 高级编程