为什么要异常处理机制:
在程序调用层数较深时,向主调函数传递错误信息需要层层return 返回比较麻烦,用异常处理机制可以较简单的传送错误信息

什么是错误
 错误是指由于逻辑或语法等导致一个程序已无法正常执行的问题

什么是异常 
异常是程序出错时标识的一种状态
当异常发生时,程序不会再向下执行,而转去调用此函数的地方待处理此错误并恢复为正常状态

异常作用: 
用作信号,通知上层调用者有错误产生需要处理

异常处理语句:
    try-except 语句:
        用于接收异常通知,捕获异常
    try-finally 语句:
        执行必须要执行的语句
    raise 语句
        发送异常知通,并进入异常状态
    assert 语句
        根据条件选择性的发送AssertionError类型的异常通知

try 语句: 
两种语法:
    try-except语句
    try-finally语句

try-except语句
try-except语句语法: 
   try:
        可能触发异常的语句
    except 错误类型1 [as 变量1]:
        异常处理语句1
    except 错误类型2 [as 变量2]:
        异常处理语句2
    except (错误类型3,错误类型4, ....) [as 变量3]
        异常处理语句3
    ...
    except:
        异常处理语句(其它)
    else:
        末发生异常语句
    finally:
        最终语句

作用:
    偿式捕获异常,将程序由异常状态转为正常状态并正常执行

try-except语句说明:
    1. as 子句是用于绑定错误对象的变量,可以省略
    2. except 子句可以有一个或多个,但至少要有一个
    3. else子句最多只能有一个,也可以省略不写
    4. finally子句最多只能有一个,也可以省略不写
    5. else子句的语句将在此try语句没有发生异常时被执行
    6. finally子句的语句在任何情况下都会被执行

try-finally 语句 
语法:
    try:
        可能触发异常的语句
    finally:
        最终语句

说明:
    1. finally 子句不可以省略
    2. 一定不存在except子句

作用:
    通常用try-finally语句来做触发异常时必须要处理的事情
    无论异常是否发生,finally子句都会被执行

注意:
    try-finally 语句不会改变程序的(正常/异常)状态

raise 语句
作用:
    触发一个错误,让程序进入异常状态
    发送错误通知给调用者
语法:
    raise 异常类型
    或
    raise 异常对象

assert 语句(断言语句) 
语法:
    assert 真值表达式, 错误数据(通常是字符串)

作用:
    当真值表达式为False时,用错误数据创建一个AssertionError类型的错误,并进入异常状态

等同于:
    if 真值表达式 == False
       raise AssertionError(错误数据)

Python异常(基础) except的更多相关文章

  1. Python——异常基础

    异常基础 在Python中,异常会依据错误自己主动地被触发.也能由代码触发和截获.异常由五个语句处理: 1.[try/except]:捕捉由Python或你引起的异常并恢复. 2.[try/final ...

  2. Python异常基础

    一.常见异常及场景举例 1.AssertionError 断言失败,断言是调试中常用(表示自己并不常用┑( ̄Д  ̄)┍)手段 举例: def foo(s): n = int(s) assert n ! ...

  3. Python 异常机制

    1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! try: pass # 程序正常执行时做什么操作 ...

  4. 零基础学Python--------第2章 Python语言基础

    第2章  Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...

  5. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  6. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

  7. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  8. Python 从基础------进阶------算法 系列

    1.简介                                                                                               关 ...

  9. Python开发基础-Day23try异常处理、socket套接字基础1

    异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...

随机推荐

  1. 【HTML-进阶-如何实现父级块级元素宽度自适应子元素宽度】

    背景 块级元素宽度默认值为100%,而不是auto;因此其宽度不会根据子元素内容动态适应. 如何实现父级元素宽度动态适应其子元素. 方法一 display:inline; 给块级元素设置inline- ...

  2. HTML基础代码

    <!--注释内容,在浏览时不会显示--><!DOCTYPE HTML> <!--声明文档类型--><html> <!--头部内容:--> & ...

  3. 利用PDCA工具改进周例会

    PDCA简介 PDCA循环又叫戴明环,是美国质量管理专家休哈特博士首先提出的,由戴明采纳.宣传,获得普及,从而也被称为“戴明环”. PDCA最早用来解决全面质量管理问题,但是PDCA也可以用来作为一个 ...

  4. 【腾讯敏捷转型No.5】需求没做完可以发布嘛

    很多人对于敏捷的第一直觉就是“快”,开发快,测试快,发布快,并不知道如何把这个“快”应用到敏捷实践中,下面我们来分析一下导致工作效率低的核心原因.没有使用敏捷之前,在大多数情况下,项目管理都需要开各种 ...

  5. Oracle startup的四个阶段

    shutdown->nomount->mount->open: 1.shutdown:数据库关闭 2.nomount: 1)$ORACLE_HOME/dbs下找初始化参数文件 a.s ...

  6. 安装mysql时出现initialize specified but the data directory has files in in.Aborting.该如何解决

    eclipse中写入sql插入语句时,navicat中显示的出现乱码(???). 在修改eclipse工作空间编码.navicate中的数据库编码.mysql中my.ini中的配置之后还是出现乱码. ...

  7. Python学习:18.Python异常处理

    一.为什么使用异常处理 当程序运行的时候出现了异常,导致程序终止运行,为了解决这种情况,我们需要预先对可能出现的异常进行处理,一旦出现这种异常,就使用另一种方式解决问题,还有就是错误信息是使用者没有必 ...

  8. python 新手题目-文件读写-关键字判断

    import os import json import re filename ="D:/pytest/2000/100/111.txt" f = open(filename,& ...

  9. MySQL5.7.22版本的安装和调试

    1:安装前的准备工作 需要的软件: boost_1_59_0.tar.gz,cmake-3.6.1.tar.gz,mysql-5.7.22.tar.gz 开始安装MySQL 2.1 检查cmake [ ...

  10. 20155207 2016-2017-2《Java程序设计》课程总结

    20155207 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总: 预备作业一:一路风景---我期待的是师生关系 预备作业二:学习情况的相关调查 预备作业三:安装虚拟 ...