Python异常(基础) except

为什么要异常处理机制:
在程序调用层数较深时,向主调函数传递错误信息需要层层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(错误数据)

posted on 2019-04-03 10:21  tan_2810  阅读(2495)  评论(0编辑  收藏  举报

导航