python函数异常处理

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 02:40   50   0

异常
1.程序在运行的时候,如果python解释器遇到错误,会停止程序的执行,并且提示一些错误的信息。
2.程序开发的时候,很难将所有的特殊情况都处理,通过异常捕获可以针对突发时间做集中处理,从而保证程序的健壮性和稳定性
3.程序开发中,对某些代码的执行不能确定(程序语法完全正确),预先判断不到的,可以增加try来捕获异常

格式:

 try:
            尝试执行的代码(不能确定的代码,会出现异常错误)
    except  错误类型1:    #错误类型由测试人员进行调试出来的
            针对错误类型1对应的错误的处理
    except  错误类型2:
          针对错误类型2对应的错误的处理
    except  Exception as result:   #result为返回值,无法预知的错误
        print '未知错误%s'%result
    finally:
        无论是否有异常,都会执行的代码

例子:

try:
    # 提示用户输入一个整数
    num = int(raw_input('输入一个整数:'))

    # 使用8除以整数并且输出
    result = 8 / num
    print result
except ZeroDivisionError:
#     print '0不能做除数'
except ValueError:
    print '输入的值不是数字'
# 没有预先判断到的错误,但是如果出现,我们也不希望程序以外停止
except Exception as result:
    print '未知错误 %s' % result
finally:
    # 无论是否有异常,都会执行的代码
    print '无论是否有异常,都会执行的代码'


4.函数的错误一级一级的去找,最终会将异常传递到主程序里面,所以应该将异常的处理写在主函数里面。


抛出异常
1.创建异常对象
ex = Exception('')
2.主动抛出异常
raise ex
3.只抛出异常而不捕获异常,代码会出错

断言
1.提前预言,让人更好的知道错误的原因
assert (div!=0),'div不能为0'

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP