第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.

      

      也可以用裸except语句(不推荐):

      try:

        try_suite;

      except:

        # 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]

Python核心编程读笔 9: 异常的更多相关文章

  1. Python核心编程读笔 10:函数和函数式编程

    第11章 函数和函数式编程 一 调用函数  1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 ...

  2. Python核心编程读笔 1

    第一章 欢迎来到Python世界 1 Python特点: 高级的可进行系统调用的解释性语言 面向对象 可升级.扩展.移植 自动内存管理器(内存管理由Python解释器负责) 2 安装 Windows的 ...

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

    第14章  执行环境 一.可调用对象 python有四种可调用对象:函数.方法.类.一些类的实例 1 函数 (1)内建函数(BIF) BIF是用c/c++写的,编译后放入python解释器,然后把它们 ...

  4. Python核心编程读笔 12:OOP

    第13章 面向对象编程 一.基本概念 1.object类是所有类的基类,如果你的类没有继承任何其他父类,object 将作为默认的父类. 2.python创建实例时无需new: myFirstObje ...

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

    第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂 ...

  6. Python核心编程读笔 5: python的序列

    第六章 序列:字符串.列表.元组 一.序列 (1)序列类型操作符 seq[ind] 获得下标为 ind 的元素 seq[ind1:ind2] 切片操作 seq * expr 序列重复 expr 次 s ...

  7. Python核心编程读笔 11:模块

    第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys. ...

  8. Python核心编程读笔 8: 文件和输入输出

    第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...

  9. Python核心编程读笔 7: 条件和循环

    第八章 条件和循环 一.if python中的条件表达式:很奇葩!!! smaller = (x < y and [x] or [y])[0] 或者: smaller = x if x < ...

随机推荐

  1. C# 基础知识 (一).概念与思想篇

    在C#中有一些我自己认为比较独特的知识点,这些知识点是我经常使用的知识,但对它们的了解还是比较少的,所以通过查找资料学习,总结了这些独特的知识点并简单叙述,第一篇主要是一些概念和思想方面的知识.(后面 ...

  2. idea git merge代码

    1.点击idea 右下角的红框区域 2.出现如下截图,第一个红框是本地dev merge,也就是说可以从从本地的dev仓库merge,第二个红框表明可以从远程的git dev merge 第三个红框表 ...

  3. Android编译错误——undefined reference to

    [错误描述] 未定义引用 提示如下:bootable/recovery/minzip/Zip.c:1122: error: undefined reference to 'selabel_lookup ...

  4. iOS分类

    ios中的分类其实就是把两个类用两个或多个文件写的,,在平时的开发中我们会发现有的时候我们想要一个类多个什么功能  但是已经定义好的类中没有,,我们又不想更改我们的程序  那么现在的这种情况下我就可以 ...

  5. C# 10 总复习

    数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulo ...

  6. HDU 1829 - A Bug's Life

    Problem Description Background Professor Hopper is researching the sexual behavior of a rare species ...

  7. c++的getline()和get()函数

    这两个函数都是面向行的输入: getline()函数读取整行,它使用通过回车符来确定输入结尾.要调用这种方法,可以使用cin.getline().该函数有两个参数, 第一个参数用来存储输入行的数组的名 ...

  8. 有了bootstrap,为什么还要做amaze ui

    1.Bootstrap介绍Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加 ...

  9. In Depth : Android Boot Sequence / Process

    In Depth : Android Boot Sequence / Process What happened when I press power on button in my Android ...

  10. Cordova+Asp.net Mvc+GIS

    Cordova+Asp.net Mvc+GIS跨平台移动应用开发实战1-系统初步搭建(附演示,apk,全部源码)   1.前言 身处在移动互联网的今天,移动应用开发炙手可热,身为程序猿的我们怎么能错过 ...