为什么要异常处理机制:
在程序调用层数较深时,向主调函数传递错误信息需要层层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. C编程规范, 演示样例代码。

    /*************************************************************** *Copyright (c) 2014,TianYuan *All r ...

  2. spring cloud config将配置存储在数据库中

    Spring Cloud Config Server最常见是将配置文件放在本地或者远程Git仓库,放在本地是将将所有的配置文件统一写在Config Server工程目录下,如果需要修改配置,需要重启c ...

  3. git私服

    目录 安装 git 在服务器上部署 Git 1.在服务器上创建一个新用户 2.创建一个git仓库 3.在服务器端打开RSA认证(重要) 4.在客户端创建SSH key 5.把步骤4生成的公钥导入服务器 ...

  4. 【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

    编译 Luajit 库,的确是一个挑战.因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了.以前只是编译了适用于真机的 Luajit 库.最近在尝试编译模拟器 Luajit 库 ...

  5. 一个input输入内容监听联动的demo

    两个input,一个在其中一个输入,内容在另一个input中实时回显 代码如下 <!DOCTYPE html> <html> <head> <title> ...

  6. es6解构赋值的几个用法

    1.解构赋值可以轻松获取对象或者数组中的数据 var jsonData = { data: "111", data2: ["test","test2& ...

  7. C++学习---指针相关

    1.指向 “指针对象” 的 ”指针” 一般指针 int *p1,ival =42; p1 = &ival; 或者 int ival =42,*p1=&val; 代表一个指针对象指向一个 ...

  8. 前端基础-jQuery的动画效果

    阅读目录 隐藏 显示 切换 下拉 上卷 显示 一.jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性.但是通过css直接修改是静态的布局, ...

  9. window7下 cmd命令行 Mysql导出表结构 + 表数据

    命令格式 mysqldump -uroot -p 密码 库名 > 自定义路径/库名.sql

  10. 解决$ go get google.golang.org/grpc上的包被墙的问题

    今天get grpc包的时候 $ go get google.golang.org/grpc 发现拉不下来被墙了,在github.com上搜索grpc,clone到工程目录中,运行命令 go inst ...