`
linvar
  • 浏览: 257593 次
  • 性别: Icon_minigender_1
  • 来自: 未定
社区版块
存档分类
最新评论

python2.x学习笔记(12) -- 错误和异常

阅读更多
1. 当 Python 检测到一个错误时, 解释器就会指出当前流已经无法继续执行下去. 这时候就出现了异常.

2. 对异常的最好描述是: 它是因为程序出现了错误而在正常控制流以外采取的行为. 这个行为又分为两个阶段: 首先是引起异常发生的错误, 然后是检测(和采取可能的措施)阶段.

3. Python 内建异常           
BaseException  所有异常的基类
SystemExit      python 解释器请求退出
KeyboardInterrupt     用户中断执行(通常是输入^C)       
Exception       常规错误的基类        
StopIteration       迭代器没有更多的值          
GeneratorExit       生成器(generator)发生异常来通知退出         
SystemExit       Python 解释器请求退出        
StandardError           所有的内建标准异常的基类
ArithmeticError         所有数值计算错误的基类             
FloatingPointError       浮点计算错误
OverflowError      数值运算超出最大限制
ZeroDivisionError         除(或取模)零 (所有数据类型)           
AssertionError         断言语句失败
AttributeError         对象没有这个属性
EOFError          没有内建输入,到达 EOF 标记
EnvironmentErrord        操作系统错误的基类
IOError              输入/输出操作失败    
OSError              操作系统错误         
WindowsError          Windows 系统调用失败
ImportError         导入模块/对象失败       
KeyboardInterrupt        用户中断执行(通常是输入^C)
LookupError            无效数据查询的基类
IndexError               序列中没有没有此索引(index)
KeyError                  映射中没有这个键
MemoryError         内存溢出错误(对于 Python 解释器不是致命的)
NameError        未声明/初始化对象 (没有属性)
UnboundLocalError  访问未初始化的本地变量
ReferenceError  弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError      一般的运行时错误
NotImplementedError        尚未实现的方法
SyntaxError             Python 语法错误
IndentationError        缩进错误
TabError              Tab 和空格混用
SystemError          一般的解释器系统错误
TypeError      对类型无效的操作
ValueError      传入无效的参数            
UnicodeError           Unicode 相关的错误
UnicodeDecodeError            Unicode 解码时的错误
UnicodeEncodeError          Unicode 编码时错误

4. 检测和处理异常
  try 语句有两种主要形式: try-except 和 try-finally . 这两个语句是互斥的, 也就是说你只能使用其中的一种. 一个try语句可以对应一个或多个except子句, 但只能对应一个finally 子句, 或是一个 try-except-finally 复合语句.

5. try-except 语句
try:
     try_suite   # watch for exceptions here 监控这里的异常
except Exception[, reason]:
    except_suite    # exception-handling code 异常处理代码

在一个 except 子句里处理多个异常.
except (Exc1[, Exc2[, ... ExcN]])[, reason]:
    suite_for_exceptions_Exc1_to_ExcN

6. 捕获所有异常
如果查询异常继承的树结构, 我们会发现 Exception 是在最顶层的
try:
    #...
except Exception, e:
    # error occurred, log 'e', etc.

- BaseException
    |- KeyboardInterrupt
    |- SystemExit
    |- Exception
    |- (all other current built-in exceptions) 所有当前内建异常

7. 上下文管理
    另一个隐藏低层次的抽象的例子是 with 语句,它在 Python 2.6 中正式启用.(Python2.5 尝试性的引入了 with, 并对使用 with 作为标识符的应用程序发出这样的警告 - 在 Python 2.6 中,with将会成为关键字. 如果你想在 Python 2.5 使用 with 语句, 你必须用 from __future__ importwith_statement 来导入它.)
with open('/etc/passwd', 'r') as f:
    for eachLine in f:
        # ...do stuff with eachLine or f...

8. 触发异常
raise [SomeException [, args [, traceback]]]

9. 断言语句等价于这样的 Python 表达式,如果断言成功不采取任何措施(类似语句),否则触发AssertionError(断言错误)的异常.assert 的语法如下:
ssert expression[, arguments]
分享到:
评论

相关推荐

    Python 学习笔记.pdf

    这份学习笔记涵盖了Python的基本概念、数据类型、控制结构、函数、模块与包、面向对象编程等重要内容。下面将对这些知识点进行详细的解读。 ### 1. Python简介 - **Python** 是一种高级编程语言,因其简洁易读的...

    《Python Standard Library》学习笔记(原书为 Python2.X 版,在学习的过程中,用 Py.zip

    以下是基于《Python Standard Library》学习笔记的一些关键知识点的详细解析: 1. **内置模块**:Python内建了多个模块,如`sys`用于获取系统相关信息,`os`提供了与操作系统交互的接口,`io`处理输入输出流,以及`...

    python学习笔记.docx

    【Python学习笔记】 Python是一种高级、通用的编程语言,以其简洁明了的语法和强大的功能而受到广大程序员的青睐。Python被广泛应用于Web开发、数据分析、人工智能、自动化脚本等多个领域。以下是一些关于Python的...

    python学习笔记.zip

    这份"python学习笔记.zip"包含的"python-master.zip"子文件,很可能是一个Python学习资源的压缩包,可能包括教程、代码示例、项目实践等内容,旨在帮助初学者或者有经验的开发者深化对Python的理解。 Python语言的...

    王纯业版《Python学习笔记》.pdf

    从给定的文件信息来看,这是一份关于Python编程语言的学习笔记,由王纯业编著,主要覆盖了Python的基础语法、数据类型、控制结构、函数、模块与包、类和对象、异常处理以及正则表达式等内容。下面将根据笔记的目录...

    python基础教程-学习笔记充电时刻-模块共13页.p

    在"Python基础教程-学习笔记充电时刻-模块共13页"的资料中,我们可以期待涵盖以下核心概念: 1. **模块(Modules)**:在Python中,模块是包含Python定义和语句的文件。它们使得代码组织更加有序,方便重用和分发。...

    python基础教程-学习笔记.zip

    这份“Python基础教程——学习笔记”涵盖了Python编程的基础知识,旨在帮助初学者快速入门。 1. **变量与数据类型** Python中的变量无需预先声明,可以直接赋值。支持的数据类型包括整型(int)、浮点型(float)...

    python学习笔记

    根据提供的“Python学习笔记”的部分信息,我们可以提炼出一系列与Python编程语言相关的知识点。下面将对这些知识点进行详细的解释和扩展。 ### Python 学习笔记概览 #### 1. Python 的起源与发展 - **创建时间**...

    Python书籍.zip

    10. **Python3.x与Python2.x的区别**:虽然Python2.x已不再更新,但了解两者差异有助于理解不同版本的代码。 在实际学习过程中,可能会有实例代码、练习题和解答来辅助理解。"Python书籍"这个文件很可能包含了这些...

    python学习笔记(个人整理).doc

    本文主要基于“Python学习笔记”的部分内容,详细阐述Python的基础知识,包括环境配置、基本语法、数据类型以及字符串操作。 首先,Python开发环境PyCharm的配置是学习的起点。你可以通过`File` -> `Settings` -> `...

    Python 学习笔记集合.zip

    "Python 学习笔记集合.zip" 提供的是一系列关于Python编程的学习资料,可能包括教程、示例代码、实践项目等内容,旨在帮助初学者快速掌握Python编程基础,同时也对进阶主题有所涉及。 在Python学习过程中,以下几个...

    Python学习笔记(干货) 中文PDF完整版.pdf

    此外,Python的异常处理通过try...except语句捕获和处理错误。 在数据可视化方面,Python有一个强大的第三方库——scikitlearn,其中的Pyplot模块提供基础绘图功能。线形图用于显示数据趋势,折线连接各个数据点;...

    Python3学习笔记

    Python3是一种广泛应用于数据分析、机器学习、Web开发和自动化任务的高级编程语言。它的语法简洁明了,使得学习曲线相对平缓,深受程序员喜爱。本笔记将深入探讨Python3的基础知识,包括数据类型、基本类库、表达式...

    Python学习笔记和程序

    这份“Python学习笔记和程序”压缩包包含了一系列的资源,非常适合Python初学者进行自我学习。 首先,让我们从"Python基础1-笔记"开始。这部分通常会涵盖Python的基础语法,如变量、数据类型(包括整型、浮点型、...

    试卷python学习笔记.pdf

    12. **Python的特性**:Python是面向对象的语言,支持类和对象的概念。它是一种解释型语言,代码无需编译即可直接执行,这使得Python具有很高的可移植性和灵活性。 以上是Python编程的基础知识点,涵盖变量、数据...

    Python学习笔记纯干货新手入门必备

    这篇学习笔记旨在为初学者提供一条清晰的学习路径,从环境搭建到实际编程,涵盖了Python的基础知识和核心概念。 1. **Python环境搭建**: - Python简介:Python是一种解释型、面向对象、动态数据类型的高级程序...

Global site tag (gtag.js) - Google Analytics