1.except:用来捕捉异常,如果没有捕捉到,则向上层exception传递

2.finally:用来保证其代码一定会执行,可以做收尾工作,比如关闭文件等等。

3.在with as 中,

4.try语句执行流程,

  首先程序标识try语句启动时候的程序环境(便于后面恢复)。

  1.遇到异常

    1.跳转到第一个匹配的except语句执行,执行完毕,跳到try之后代码执行。

    2.如果没有匹配的except语句,则向上传递try之前(传到顶层,则系统处理,终止执行并打印出错信息)

  2.如果没有遇到异常,则执行else语句。

  3.finanlly:如果遇到异常,执行完这层异常处理后执行finally,或者该层没有处理则执行finally后抛出到上层。

5.语法

try:#后面可以接 except {else};      finally;      except {else} finally.

except:#捕捉某异常

except:#捕捉某异常

except:#捕捉某异常

else:#无异常情况,必须与except连用

finally:#保证执行

6.Exception异常:except Exception: 捕捉所有除了和系统退出有关的一切异常。

7.raise

raise  #重新引发异常
raise Exception #隐式创建不带参数的异常类
raise Exception()
raise Exception from otherException #异常链

8.assert:用于显示用户设定的约束条件,data用于显示

  assert 条件,data

9.with as:支持文件,锁等

  _enter_方法 ,返回值赋值给as

  _exit_(type,value,traceback)方法:with代码块无论有无异常,该函数被调用,如果返回值为false,有异常则重新引发异常。

10.exception是超类匹配:捕捉超类下面的子类实例。

11.except捕捉并终结异常传递,而finally不会终结异常的向上传递。

python Exception的更多相关文章

  1. python Exception raise

    异常是指程序中的例外,违例情况.异常机制是指程序出现错误后,程序的处理方法.当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理.Exception类是常用的异常类,该类包括Standar ...

  2. python Exception中的raise、assert

    使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显式地引发异常.一旦执行了raise语句,raise后面的语句将不能执行. 演示raise用法. try: s ...

  3. Python Exception处理

    Python中的错误处理分为两类:语法错误和异常处理.语法错误一般是指由于python语句.表达式.函数等存在书写格式活语法规则上的错误抛出的异常,如python常见的缩进控制,若同层次的执行语句存在 ...

  4. 为什么会出现Python Exception <class 'gdb.MemoryError'> Cannot access memory at address 问题?

    问题描述:        把列表listview写入notebook里. 在main函数中, win = create_and_set_a_window(); book = gtk_notebook_ ...

  5. python exception的传递

    try: block except1: except2: ... 如果block中出现了except,那么会先取匹配except1,如果匹配了,进行处理,程序继续执行. 如果except1没有匹配上, ...

  6. programing Python --Sys module

    Recall that every python module has a built_in __name__ variable that python sets to the __main__ st ...

  7. Embeding Python & Extending Python with FFPython

    Introduction ffpython is a C++ lib, which is to simplify tasks that embed Python and extend Python. ...

  8. python笔记之异常

    异常 內建异常在exceptions模块内,使用dir函数列出模块的内容. 自定义异常类:继承基类Exception. 异常可以使用raise语句引发,可以使用try ... except ... e ...

  9. 使用Boost.Python构建混合系统(译)

    目录 Building Hybrid Systems with Boost.Python 摘要(Abstract) 介绍(Introduction) 设计目标 (Boost.Python Design ...

随机推荐

  1. 有关DNS

    单位的域控制器和下面客户端的连接一直有问题,时常会找不到服务器连接: 错误基本显示为:没有可以登录的服务器 无法连接seed.com域 后来发现,是DNS解析的问题,单位使用了外部解析地址202.96 ...

  2. Spring使用标签注解来简化xml书写

    一.步骤 在配置文件中,引入context命名空间 <beans xmlns="http://www.springframework.org/schema/beans" xm ...

  3. UIAtlas

    [UIAtlas] UIAtlas is a container that has coordinate information for a bunch of sprites. AtlasType有2 ...

  4. js控制图片放大缩小的简易版

    js代码: function bb_img_onmousewheel(e, o) { var zoom = parseInt(o.style.zoom, 10) || 100; zoom += eve ...

  5. libevent源码深度剖析六

    libevent源码深度剖析六 ——初见事件处理框架 张亮 前面已经对libevent的事件处理框架和event结构体做了描述,现在是时候剖析libevent对事件的详细处理流程了,本节将分析 lib ...

  6. Composer安装(windows)

    https://files.cnblogs.com/files/wlphp/Composer-Setup.zip 先下载这个安装包,一直下一步 然后设置composer全局中国景象 composer ...

  7. cocos+kbe问题记录

    1.不要使用setTimeout函数 setTimeout函数,setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 是HTML DOM中的方法,在游戏中使用,属于全局的延时,当游 ...

  8. c++ (proxy)代理模式

    假设我们有几个具有相似的窗体,都包含关闭窗体(closeButton)和按钮单击事件(ClickButton)我们在处理时,不想直接操作每个窗体,可以请求代理. #include<iostrea ...

  9. 内存cache使用的场景

    Q.业务场景内为什么要使用内存cache? A.为了利用内存cache的优点, 解决业务场景内的缺陷 Q.内存cache的优点和缺点 A.优点: 内存读写速度比磁盘块 缺点: 内存空间有限, 内存单价 ...

  10. virsh 查看hypervisor特性

    [root@opennebula var]# virsh -c qemu:///system nodeinfo CPU model: x86_64 CPU(s): CPU frequency: MHz ...