Python核心编程读笔 8: 异常

第10章 异常
一、异常
1 检测和处理异常
  (1)try-except语句
    try:
      try_suite #监控这里的异常
    except Exception[, reason]:
      except_suite #异常处理代码

  (2)“带有多个except的try语句”和“处理多个异常的except语句”
  (3)捕获所有异常
      try:
        :
      except Exception, e:
        # error occurred, log ‘e‘, etc.
  (4)异常参数
  (5)else子句和finally子句
  (6)try-except-else-finally:厨房一锅端
    try:
      try_suite
    except Exception1:
      suite_for_Exception1
    except (Exception2, Exception3, Exception4):
      suite_for_Exceptions_2_3_and_4
    except Exception5, Argument5:
      suite_for_Exception5_plus_argument
    except (Exception6, Exception7), Argument67:
      suite_for_Exceptions6_and_7_plus_argument
    except:
      suite_for_all_other_exceptions
    else:
      no_exceptions_detected_suite
    finally:
      always_execute_suite

2 上下文管理
    with语句:
      with context_expr [as var]:
        with_suite
    举例:
      with open(‘/etc/passwd‘, ‘r‘) as f:
        for eachLine in f:
          # ...do stuff with eachLine or f...

        注:无论的在这一段代码的开始,中间,还是结束时发生异常,会执行清理的代码,此外文件仍会被自动的关闭.

3 触发异常
  raise [SomeException [, args [, traceback]]]

4 标准异常

二、断言
  assert expression[, arguments]

时间: 2024-10-12 20:11:46

Python核心编程读笔 8: 异常的相关文章

Python核心编程读笔 9:函数和函数式编程

第11章 函数和函数式编程 一 调用函数 1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 foo(): foo(42)  foo('bar')  foo(y) 关键字调用 foo(): foo(x=42)  foo(x='bar')  foo(x=y) 即明确给出相应的参数名 2 参数组 Python允许程序员执行一个没有显式定义参数的函数,相应的方法是通过一个把元组(非关键字参数)或字典

Python核心编程读笔 13:执行环境

第14章  执行环境 一.可调用对象 二.代码对象 三.可执行的对象声明和内建函数 四.执行其他程序 1 执行其他python程序 2 执行其他非python程序 五.受限执行 六.结束执行 七.各种操作系统接口

Python核心编程读笔 12:OOP

第12章 面向对象编程 一.基本概念 二.类 1 类 2 实例 3 绑定与方法调用 三.继承.子类和派生 1 子类和派生 2 继承 四.类.实例和其他对象的内建函数 五.定制类 六.私有化 七.授权与包装 八.新式类的高级特性

Python核心编程读笔 6: 条件和循环

第八章 条件和循环 一.if python中的条件表达式:很奇葩!!! smaller = (x < y and [x] or [y])[0] 或者: smaller = x if x < y else y 二.while 三.for 1 通过序列项迭代: for eachName in nameList:2 通过索引迭代: >>>for nameIndex in range(len(nameList)): ... print "Liu,", nameLi

Python核心编程读笔 1

第一章 欢迎来到Python世界 1 Python特点: 高级的可进行系统调用的解释性语言 面向对象 可升级.扩展.移植 自动内存管理器(内存管理由Python解释器负责) 2 安装 Windows的安装只用从官网上下载一个安装包然后一步一步next到底即可,最后不要忘记勾选“添加到path”,或者自己后面手动添加path环境变量.安装好后在cmd中输入命令python即可检查有没有安装成功 3 运行 win版本安装好后,默认有一个python的IDE叫IDLE,可以直接在里面敲代码.或者也可以

Python核心编程读笔 2

第三章 python基础 一.语句和语法 \n 标准的行分隔符 \ 继续上一行 ; 将两个语句连接在一行 : 分开代码块的头和体 代码块以缩进块的形式体现 python文件以模块的形式组织 二.变量赋值 注意:python中对象是通过引用传递的! python不支持++x等前置/后置的自增/自减运算符 多元赋值:将多个变量同时赋值 >>>x,y,z = 1,2,'string' #其实多元赋值的=两边都是元组 或者写成: >>>(x,y,z) = ( 1, 2, 'st

Python核心编程读笔 5: 映射和集合类型

第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂函数dict()创建: >>> fdict = dict((['x', 1], ['y', 2])) >>> fdict {'y': 2, 'x': 1} 使用fromkeys()创建一个默认字典: >>> ddict = {}.fromkeys(('x'

Python核心编程读笔 11:模块

第12章 模块 1.基本概念 2.命名空间 3.导入模块 4.模块内建函数包 5.模块的其他特性

Python核心编程读笔 4

第六章 序列:字符串.列表.元组 一.序列 (1)序列类型操作符 seq[ind] 获得下标为 ind 的元素 seq[ind1:ind2] 切片操作 seq * expr 序列重复 expr 次 seq1 + seq2 连接序列 obj in seq 判断 obj 元素是否包含在 seq 中 obj not in seq 判断 obj 元素是否不包含在 seq 中(2)内建函数 类型转换(工厂)函数: list(iter) 把可迭代对象转换为列表 str(obj) 把 obj 对象转换成字符串